数学の力

京大生が数学の定理・公式の証明や入試問題の解説をするブログ.

2平方定理


スポンサードリンク

2平方定理

この定理はフェルマーの2平方定理とも呼ばれることがあり,証明はオイラーによってはじめてなされたとされています.

定理.

素数(奇数かつ素数,すなわち 3 以上の素数)  p が 4 で割ると 1 余るとき, p は 2 つの平方数の和として表される.


例えば,

\begin{align*}
5 &= 1^2+2^2\\
13 &= 2^2+3^2\\
17 &= 1^2+4^2\\
29 &= 2^2+5^2\\
37 &= 1^2+6^2\\
41 &= 4^2+5^2\\
53 &= 2^2+7^2\\
\vdots
\end{align*}



のようになります.



また,この定理は逆も成り立ちます(逆も含めて 2 平方定理と呼ぶ場合もあります).

2平方定理の逆

素数  p が 2 つの平方数の和で表されるとき, p を 4 で割ると 1 余る.

こちらは以下のように簡単に示すことができます.

偶数の 2 乗は 4 の倍数,奇数の 2 乗は 4 で割ると 1 余るので,

2 つの平方数の和が奇数となるのは偶数と奇数の平方の和のときのみで,これは 4 で割ると 1 余ります.

証明.

ここでは,平方剰余の記号等を用いずに証明をしていきます.

まず,次の補題を考えます.

補題1. (素数に関するオイラーの定理)

素数  p について,

\begin{align*}
p\equiv 1 \pmod{4}
\end{align*}

\begin{align*}
x^2\equiv -1\pmod{p}
\end{align*}

が解を持つことは同値.

それにしてもオイラーの名が残っている定理はたくさんありますね.


この定理の証明については,「素数に関するオイラーの定理」に書いています(記事が長くなるため分けています).


次に,もう1つ補題として,2 つの平方数の和として表せる数の積は再び 2 つの平方数の和で表せる,というものを用意します.

(恒等式)

\begin{align*}
(x^2+y^2)(x_1^2+y_1^2) = (xx_1+yy_1)^2+(xy_1-x_1y)^2
\end{align*}

この恒等式は,両辺を展開すればすぐに確認できると思います.



では,ここから 2 平方定理の証明に入ります.



 p\equiv 1\pmod{4} なので,補題1 (素数に関するオイラーの定理)より  x^2=kp-1 を満たすような自然数  k, p が存在する.


 x p の倍数だとこの等式は成り立たないので,ある整数  n が存在して,

 (n-1)p < x < np

が成り立つ.


 x-(n-1)p=x^\prime とおけば, x^2\equiv {x^\prime}^2.

さらに, p/2\leq x^\prime< p のとき  x^{\prime\prime}=p-x^\prime とおくと  {x^\prime}^2\equiv{x^{\prime\prime}}^2.


故に,

 x^2\equiv-1\pmod{p} が解を持つ ⇒  x^2\equiv-1\pmod{p} 0 < x\leq p/2 の範囲に解を持つ.

これで解の範囲を狭めることができました.

これで, y=1 と考えると以下のことが言えます.

 p が 4 で割って 1 余る素数のとき,

\begin{align}
x^2+y^2=kp\tag{$\ast_3$}\\
0 < x\leq p/2\\
0 < y\leq p/2\\
k < p
\end{align}

をみたす自然数  x, y, k が存在する.


ここで, k=1 であれば 2 平方定理が示されたことになります.

 k > 1 のとき,

 -k/2 < x_1\leq k/2, -k/2 < y_1\leq k/2, x_1\equiv x, y_1\equiv y\pmod{k}

をみたすように  x_1, y_1 を定めると,

 x_1^2+y_1^2\equiv 0\pmod{k}

なので, x_1^2+y_1^2~k^\prime k となる  k^\prime が存在し,

 x_1\leq k/2, y_1\leq k/2 から  0 < k^\prime < k が分かります.

 

すると,

\begin{align*}
k^\prime k\cdot kp &= (x_1^2+y_1^2)(x^2+y^2)\\
&= (xx_1+yy_1)^2+(xy_1-x_1y)^2
\end{align*}

 X_1=xx_1+yy_1, Y_1=|xy_1-x_1y| とおくと,

 k^\prime k^2p =X_1^2+Y_1^2.

さらに, X_1, Y_1\bmod k=0 となるので, X_1=kx_1^\prime, Y_1=kY_1^\prime とおけば,

 k^\prime p={X_1^\prime}^2+{Y_1^\prime}^2

となり,( \ast_3) と同じ形の式が得られます.

 

 0 < k^\prime < k となっているので,同様の操作を繰り返すことで  k^\prime=1 とすることができます.

 

したがって, p は 2 つの平方数の和で表すことができます.