25桁の数を2数の積に分解する /「算数にチャレンジ!!」第1126問

問題概略

25 桁の自然数  n=1010101010101010101010101 n=ab のように 2 つの自然数  a,  b の積に分解します。 a は 13 桁で  b は 12 桁です。 b を求めてください。

http://www.sansu.org/used-html/index1126.html

解説の pdf も作りました。きれいなレイアウトで読みたい方はこちらをどうぞ。

drive.google.com

mathematicaで素因数分解

まずは mathematica で素因数分解しました。

  In[]:= AbsoluteTiming[
    n = 1010101010101010101010101;
    lst = {#, n/#} & /@ Divisors@n;
    ans = Last /@ Select[lst, IntegerLength /@ # == {13, 12} &]]
   
  Out[]= {0.0008863, {909090909091, 227954249927}}

 n=53 \times 79 \times 859 \times 265371653 \times 1058313049

 n の約数  d は全部で  (1+1)^5=32 個。 (d,\, n/d) がそれぞれ 13 桁,12 桁になる組を探しました。

  In[]:= AbsoluteTiming[
    n = 1010101010101010101010101;
    lst = {#, n/#} & /@ Divisors@n;
    ans = Last /@ Select[lst, IntegerLength /@ # == {13, 12} &]]
   
  Out[]= {0.0008863, {909090909091, 227954249927}}

条件をみたす  b は 2 つあります。太字の数が  b です。

 n=4431156736163\times \mathbf{227954249927}
 =1111111111111\times \mathbf{909090909091}

多項式の因数分解

手計算で解くなら  x=10 とおいて因数分解でしょう。 n x の 24 次式になります。

\begin{align*}
n&=1+x^2+x^4+\cdots+x^{24}=1\cdot \frac{(x^2)^{13}-1}{x^2-1}=\frac{(x^{13})^2-1}{x^2-1}\\
&=\frac{(x^{13}-1)(x^{13}+1)}{(x-1)(x+1)}\\
&=(x^{12}+x^{11}+\cdots+x+1)(x^{12}-x^{11}+\cdots-x+1)
\end{align*}

 x=10 を代入すると  n=1111111111111\times \mathbf{909090909091} になります。
もう一つの  b=22\cdots を手計算で導くには 32 個の  d をシラミツブシするしかなさそうですが,どうなんでしょうか?


variee.hatenablog.com