平方数に関する問題1

[問題1] A^2+B^2=10^n A+Bを満たす正の整数A,B,nを求めよ。

 簡単に見つかる解は、A=10^nB=1である。従ってこれ以外の解を見つけることが目標である。

 問題1の解が見つかったとする。

\displaystyle\frac{A}{B}を既約分数で\displaystyle\frac{a}{b}と表すと、\displaystyle{\frac{A}{B}=\frac{B-1}{10^n-A}}より、正の整数x,yで、A=ax,B=bx,B-1=ay,10^n-A=byを満たす数が存在する。

このとき、ax+by=10^n,bx-ay=1より、(ax+by)^2+(bx-ay)^2=10^{2n}+1となるが、ディオファントス恒等式(a^2+b^2)(x^2+y^2)=(ax+by)^2+(bx-ay)^2により、10^{2n}+1合成数であり、分解されたそれぞれの数もまた平方数の和で表すことができる。従って問題1の解は10^{2n}+1の約数を調べることで見つけることができる。

[解の探索方法]

  1. \displaystyle\frac{1}{p}循環小数で表す。(p=a^2+b^2と仮定する。)
  2. 循環節の長さが4nの場合について考える。
  3. \displaystyle\frac{1}{p}=\displaystyle\frac{M}{10^{4n}-1}より、p10^{2n}+1の素因数である。
  4. x=\displaystyle\frac{a*10^n + b}{a^2+b^2}y=\displaystyle\frac{b*10^n - a}{a^2+b^2}が整数であれば、A=ax,B=bxA=by,B=bxが解である。

(例) p=17=4^2+1^2について、

\frac{1}{p}を計算すると、0.0588235294117647・・・という循環小数が得られる。

588235294117647÷(10^8-1)=5882353となり、5882353*17=10^8+1である。

x=\frac{4*10^4+1}{4^2+1^2}=2353により、A=9412,B=2353が解として得られる。また、y=\frac{1*10^4-4}{4^2+1^2}=588により、A=by=588,B=bx=2353も解の条件を満たす。ちなみに、5882353素数である。

 [定理] [問題1]の解となるA*10^n+B素数となるのは、Bn桁と仮定すると、1015882353のみである。

(証明)

 A*10^n+B素数となるのであれば、A,Bは互いに素である。A(10^n-A)=B(B-1)より、B-1=Azとなる整数zが存在する。このとき、10^n-A=Bzとなる。(A^2+B^2)(1+z^2)=(A+Bz)^2+(Az-B)^2=10^{2n}+1より、A^2+B^210^{2n}+1の約数となる。 A*10^n+B10^{2n}+1の約数となるので、B10の倍数にならず、Bn桁であることから、10^{n-1} \lt B \lt 10^nである。よって、10^{n-1} \leqq B-1 \lt 10^n となるので、10^{2n-2} \lt B(B-1) \lt 10^{2n}・・・(1)が成り立つ。

z=0のとき、B=1,n=1,A=10より、この場合は素数101が得られる。

また、z \geqq 1のとき、B \leqq Bz=10^n-Aより、10^{n-1} \lt 10^n-A \lt 10^n・・・(2)が成り立つ。

(1)(2)より、10^{n-2} \lt \displaystyle\frac{B(B-1)}{10^n-A} \lt 10^{n+1}が成り立つので、  10^{n-2} \lt A \lt 10^{n+1}となる。10^{2n-2} \lt A*10^n \lt A*10^n+B=A^2+B^2=\displaystyle\frac{10^{2n}+1}{1+z^2}となるので、1+z^2 \lt \displaystyle\frac{10^{2n}+1}{10^{2n-2}} \leqq 101を得る。従ってz \leqq 9である。

1+z^2は、10^{2n}+1の約数となるので、zは偶数であり、1+z^25の倍数ではない。このような条件を満たすzは、z=4,6である。

z=6 とする。p=37である。10^{2n}+1 \equiv 0(mod 37) と仮定すると、10^3 \equiv 1(mod 37)より、4n3の倍数となる。従ってn3の倍数となり、10^{n}-1 \equiv 0(mod 37)となるので、矛盾する。

z=4 とする。p=17である。10^{2n}+1 \equiv 0(mod 17)と仮定すると、10^8+1 \equiv 0(mod 17)より、4n16の倍数となる。従って、n4の倍数なので、n=4mとおく。10^{8m}+1 \equiv 0(mod 17)が成り立つのは、mが奇数の場合である。\displaystyle\frac{10^{8m}+1}{17}素数となるのはm=1の場合のみである。