フェルマーの二平方和定理

更新日時 2021/03/07
定理

22 つの整数 x,yx,y を用いて n=x2+y2n=x^2+y^2 と表される

nn を素因数分解したときの 4k+34k+3 型の素数の指数が全て偶数

高々2つの整数の二乗和で表される整数はどんなものか?という疑問に答える非常に有名な定理です。

この定理を知っていることで数学オリンピックで有利になることはないと思いますが,整数論の様々な知識を動員するので応用例として勉強になります。

目次
  • フェルマーの二平方和定理

  • 主張1の証明

  • フェルマーの二平方和定理の証明

フェルマーの二平方和定理

上記の定理の \Leftarrow を証明します。以下の 22 つの主張を証明すれば十分です:

主張1:m,nm,n がいずれも x2+y2x^2+y^2 の形で表されるなら mnmnx2+y2x^2+y^2 の形で表せる

主張2(フェルマーの二平方和定理):奇素数 pp について pp44 で割った余りが 11pp は2つの平方数の和で表せる

x2+y2x^2+y^2 と表せる素数はどんなものか?

という問題に関しては,44 で割った余りを考えることできれいに分類できるというのがフェルマーの二平方定理です。

主張1の証明

こちらは簡単です。ブラーマグプタ・フィボナッチ恒等式を用います。

証明

(x12+y12)(x22+y22)=(x1y2x2y1)2+(x1x2+y1y2)2(x_1^2+y_1^2)(x_2^2+y_2^2)=(x_1y_2-x_2y_1)^2+(x_1x_2+y_1y_2)^2

より m,nm, n22 つの平方数の和で表せるならその積も 22 つの平方数の和で表せる。

フェルマーの二平方和定理の証明

あとは素数が 22 つの平方数の和で表せるかどうかです。

  • 222=12+122=1^2+1^2 と平方数の和で表せるので,奇素数についてのみ考えればよいわけです。
  • 平方数を 44 で割った余りは 0011 なので x2+y2x^2+y^244 で割った余りは 33 になることはありません。よって 4k+34k+3 型の素数は2つの平方数で表すことができません。これで主張2の⇐の対偶が証明されたことになります。よってあとは⇒を示せばOKです。
  • ⇒の証明が難しいです。ルジャンドル記号とオイラーの規準で解説した平方剰余の第一補充法則を用います。
証明

以下 modp\:\mathrm{mod}\:p を省略して表記する。

pp44 で割った余りが 11 のとき,第一補充法則より

x21x^2\equiv -1 となる p2\dfrac{p}{2} 以下の正の整数 xx が存在するので,例えば y=1y=1 とすれば

x2+y20x^2+y^2\equiv 0 となる (x,y)(x,y) が存在する。

よって x2+y2=kpx^2+y^2=kp

となる p2\dfrac{p}{2} 以下の正の整数 kk が存在する。

そこで,x2+y2=kpx^2+y^2=kp を満たす正の整数の組 (x,y,k)(x,y,k) の中で kk が最小となるもの(※)を選ぶ。

k=1k=1 であることを背理法で示す。

x,yx,ykk で割る(余りの絶対値が最小となるようにする):
x=Ak+B,y=Ck+Dx=Ak+B, y=Ck+D

ただし,B,DB,D の絶対値は k2\dfrac{k}{2} 以下。つまり B2+D2B^2+D^2k22\dfrac{k^2}{2} 以下。

このとき x2+y2x^2+y^2kk の倍数なので B2+D2B^2+D^2kk の倍数:

B2+D2=nk,(n<k)B^2+D^2=nk, (n <k)

以上から,

pn=(x2+y2k)(B2+D2k)=(xB+yDk)2+(xDyBk)2pn=\left(\dfrac{x^2+y^2}{k}\right)\left(\dfrac{B^2+D^2}{k}\right)\\ =\left(\dfrac{xB+yD}{k}\right)^2+\left(\dfrac{xD-yB}{k}\right)^2

となり,npnp も平方数の和で表されるので kk の最小性(※)に矛盾。

ただし,以下2点の確認が必要。

  1. xB+yDk,xDyBk\dfrac{xB+yD}{k},\dfrac{xD-yB}{k} が整数であることの確認が必要。以下のように示せる:
    xB+yDx2+y20(modk)xB+yD\equiv x^2+y^2\equiv 0\pmod{k}
    xDyBxyyx0(modk)xD-yB\equiv xy-yx\equiv 0\pmod{k}

  2. kk正の整数の中で最小」なので n=0n=0 なら矛盾しない。つまり n1n\geq 1 の確認が必要。もし n=0n=0 と仮定すると,B=D=0B=D=0,つまり x=Ak,y=Ckx=Ak,y=Ck より kp=(A2+C2)k2kp=(A^2+C^2)k^2 となり ppkk の倍数。ところが pp は素数であり k1k\neq 1 の仮定より k=pk=p となる。これは kp2k\leq\dfrac{p}{2} に矛盾。

最後の証明が不完全で間違っていたので,書き直しました(2022/12/25)。Twitterでご指摘いただいた強い読者の方,ありがとうございました!