フェルマーの最終定理で有名なフェルマー(Pierre de Fermat)は、素数に関する興味深い定理も残しています。その一つがこの2平方の定理です。
2平方の定理
|
素数 p に関して p ≡ 1 ( mod 4 ) なら
p は2つの平方数の和であらわすことができる。 |
つまり、素数 p が4で割ると1余るならば、p は二つの平方数の和であらわすことができるということです。例えば、
5 = 12 + 22
13 = 22 + 32
17 = 12 + 42
ということですね。この定理を証明するのにフェルマーは、数学的帰納法の一種の無限降下法(Fermat's Infinite Descent)という方法を使用しています。
証明)
p ≡ 1 ( mod 4 ) より (p-1)/2は偶数となります。ここで次の定理を使います。
素数に関するオイラーの定理より奇素数 p に関して x2 ≡ -1 (mod p) が解を持つことと、 p ≡ 1 ( mod 4 ) は同値なので、
x2 + 1 = kp (k = 1、2、3、…)
とおくことができます。ここで
p/2 < x < p とすると
x' = p - x とおけば
0 < x' < p/2
となり
x'2 = p2 - 2px + x2 ≡ x2 ≡ -1 (mod p)
つまり
0 < x ≦p/2 のときを考えれば十分ですね。では、あらためて
x2 + 1 = kp (k = 1、2、3、…)
0 < x ≦ p/2
とできます。
x2 + 1 = kp
は
x2 + 12 = kp
つまり
x2 + y2 = kp …(*)
が整数解 (x,y) (0 < x、y ≦p/2) を持ちます。
また 0 < x、y ≦p/2 より
k = ( x2 + y2 )/p
≦ { (p/2)2 + (p/2)2 }/p
= p/2
< p
よって k < p となりますね。
これで無限降下法の第一段階が成立したことになりますね。
k = 1 なら証明は終わるのでk > 1 のときを考えます。
k > 1 のとき
(*) の解(x,y)で k を法として合同な数で絶対値が最小のものをそれぞれ、( x1、y1 )と置くと、
x12 + y12 ≡ 0 (mod k) (0 < x1、y1 ≦k/2)
なので
x12 + y12 = k'k …(**)
と置くことができますね。このときもまた、同様に、
k' = ( x12 + y12 )/k
≦ { (k/2)2 + (k/2)2 }/k
= k/2
< k
(*)と(**)の積を考えると、
k'k2p = ( x2 + y2 )( x12 + y12 )
= ( xx1 + yy1 )2 + ( xy1 - yx1)2
と変形できます。ここで、右辺の各項は、
xx1 + yy1 ≡ x2 + y2 ≡ 0 (mod k)
xy1 - yx1 ≡ xy - xy = 0 (mod k)
となります。よって、
x2 = (xx1 + yy1)/k
y2 = (xy1 - yx1)/k
と置くことにより、
x22 + y22 = k'p
が得られ、無限降下法の第2段階が、成立したことになります。
(証明終)
このページのいくつかの不備な点をhash9092さんにご指摘いただき訂正しました。