费马平方和定理

費馬平方和定理是由法国数学家皮埃爾·德·費馬在1640年提出的一个猜想，但他没有提出有力的数学证明，1747年，瑞士数学家萊昂哈德·歐拉提出证明后成为定理。 費馬平方和定理的表述是：奇質數能表示为两个平方数之和的充分必要条件是该質數被4除余1。 如 5 = 1 2 + 2 2 {\displaystyle 5=1^{2}+2^{2}} 那麼 5 ≡ 1 ( mod 4 ) {\displaystyle 5\equiv 1{\pmod {4}}} ，反之亦然。 该命题的必要条件是显然的，因为对于 a ≡ 0 ( mod 2 ) {\displaystyle a\equiv 0{\pmod {2}}} 总有 a 2 ≡ 0 ( mod 4 ) {\displaystyle a^{2}\equiv 0{\pmod {4}}} （偶数的平方能被4整除）以及对于 a ≡ 1 ( mod 2 ) {\displaystyle a\equiv 1{\pmod {2}}} 总有 a 2 ≡ 1 ( mod 4 ) {\displaystyle a^{2}\equiv 1{\pmod {4}}} （奇数的平方被4除余1），即若两个平方数之和为奇数，则该奇数必然模4余1而不可能出现模4余3的情况（事实上不管这个奇数是素数还是合数都如此）。而该命题的充分条件为本定理证明的重点。 歐拉在1747年证明了费马平方和定理，当年他四十岁。他在当年5月6日寄给哥德巴赫一封信，讲述这个定理的证明。该证明分五步，且用到了无穷递降法；由于信中没有把第五步讲清楚，因此1749年他再次寄给哥德巴赫一封信，详细讲述第五步的证明。 第一步、“如果两个整数都能表示为两个平方数之和，则它们的积也能表示为两个平方数之和。” 即婆罗摩笈多－斐波那契恒等式 ( a 2 + b 2 ) ( p 2 + q 2 ) = ( a p + b q ) 2 + ( a q − b p ) 2 {\displaystyle (a^{2}+b^{2})(p^{2}+q^{2})=(ap+bq)^{2}+(aq-bp)^{2}} 。 第二步、“如果一个能表示为两个平方数之和的整数被另一个能表示为两个平方数之和的素数整除，则它们的商也能表示为两个平方数之和。” 假设 a 2 + b 2 {\displaystyle a^{2}+b^{2}} 能被 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 整除，且后者为素数。则 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 能整除 ( p b − a q ) ( p b + a q ) = p 2 b 2 − a 2 q 2 = p 2 ( a 2 + b 2 ) − a 2 ( p 2 + q 2 ) . {\displaystyle (pb-aq)(pb+aq)=p^{2}b^{2}-a^{2}q^{2}=p^{2}(a^{2}+b^{2})-a^{2}(p^{2}+q^{2}).} 由于 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 是素数，因此它能整除两个因子之一。假设它能整除 p b − a q {\displaystyle pb-aq} 。由于 ( a 2 + b 2 ) ( p 2 + q 2 ) = ( a p + b q ) 2 + ( a q − b p ) 2 {\displaystyle (a^{2}+b^{2})(p^{2}+q^{2})=(ap+bq)^{2}+(aq-bp)^{2}\,} 可推出 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 能整除 ( a p + b q ) 2 {\displaystyle (ap+bq)^{2}} 。于是等式能被 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 的平方整除。两边除以 ( p 2 + q 2 ) 2 {\displaystyle (p^{2}+q^{2})^{2}} 得： a 2 + b 2 p 2 + q 2 = ( a p + b q p 2 + q 2 ) 2 + ( a q − b p p 2 + q 2 ) 2 {\displaystyle {\frac {a^{2}+b^{2}}{p^{2}+q^{2}}}=\left({\frac {ap+bq}{p^{2}+q^{2}}}\right)^{2}+\left({\frac {aq-bp}{p^{2}+q^{2}}}\right)^{2}} 因此其商能表示为两个平方数之和。 如果 p 2 + q 2 {\displaystyle p^{2}+q^{2}} 能整除 p b + a q {\displaystyle pb+aq} ，则利用等式 ( a 2 + b 2 ) ( q 2 + p 2 ) = ( a q + b p ) 2 + ( a p − b q ) 2 {\displaystyle (a^{2}+b^{2})(q^{2}+p^{2})=(aq+bp)^{2}+(ap-bq)^{2}\,} 同样可证。 第三步、“如果一个能表示为两个平方数之和的整数被另一个不能表示为两个平方数之和的整数整除，则它们的商也必有一个不能表示为两个平方数之和的因子。” 假设 x {\displaystyle x} 能整除 a 2 + b 2 {\displaystyle a^{2}+b^{2}} ，且其商的分解式为 p 1 p 2 ⋯ p n {\displaystyle p_{1}p_{2}\cdots p_{n}} 。则 a 2 + b 2 = x p 1 p 2 ⋯ p n {\displaystyle a^{2}+b^{2}=xp_{1}p_{2}\cdots p_{n}} 。如果所有的因子 p i {\displaystyle p_{i}} 都能表示为两个平方数之和，则我们可以用 p 1 {\displaystyle p_{1}} 、 p 2 {\displaystyle p_{2}} 、等等去除 a 2 + b 2 {\displaystyle a^{2}+b^{2}} ，并使用第二步的结论，可得每一个商都能表示为两个平方数之和。除到只剩 x {\displaystyle x} 的时候，可得 x {\displaystyle x} 也能表示为两个平方数之和，矛盾。因此，如果 x {\displaystyle x} 不能表示为两个平方数之和，则至少有一个素数 p i {\displaystyle p_{i}} 也不能表示为两个平方数之和。 第四步、“如果 a {\displaystyle a} 和 b {\displaystyle b} 互素，则 a 2 + b 2 {\displaystyle a^{2}+b^{2}} 的所有因子都能表示为两个平方数之和。” 这一步用到了无穷递降法。设 x {\displaystyle x} 是 a 2 + b 2 {\displaystyle a^{2}+b^{2}} 的一个因子。可记 a = m x ± c , b = n x ± d {\displaystyle a=mx\pm c,\qquad b=nx\pm d} 其中 c {\displaystyle c} 和 d {\displaystyle d} 的绝对值最多不超过 x {\displaystyle x} 的一半。可得： a 2 + b 2 = m 2 x 2 ± 2 m x c + c 2 + n 2 x 2 ± 2 n x d + d 2 = A x + ( c 2 + d 2 ) . {\displaystyle a^{2}+b^{2}=m^{2}x^{2}\pm 2mxc+c^{2}+n^{2}x^{2}\pm 2nxd+d^{2}=Ax+(c^{2}+d^{2}).} 因此， c 2 + d 2 {\displaystyle c^{2}+d^{2}} 一定能被 x {\displaystyle x} 整除，设 c 2 + d 2 = y x {\displaystyle c^{2}+d^{2}=yx} 。如果 c {\displaystyle c} 和 d {\displaystyle d} 不互素，则它们的最大公约数与 x {\displaystyle x} 互质（否则它与 x {\displaystyle x} 的最大公约数就能整除 a {\displaystyle a} 和 b {\displaystyle b} ，与我们假设它们互素矛盾）。因此它们的最大公约数的平方能整除 y {\displaystyle y} （因为它能整除 c 2 + d 2 {\displaystyle c^{2}+d^{2}} ），于是我们得到 e 2 + f 2 = z x {\displaystyle e^{2}+f^{2}=zx} ，其中 e {\displaystyle e} 和 f {\displaystyle f} 互素，且 z {\displaystyle z} 不超过 x {\displaystyle x} 的一半，这是因为 z x = e 2 + f 2 ≤ c 2 + d 2 ≤ ( x 2 ) 2 + ( x 2 ) 2 = 1 2 x 2 . {\displaystyle zx=e^{2}+f^{2}\leq c^{2}+d^{2}\leq \left({\frac {x}{2}}\right)^{2}+\left({\frac {x}{2}}\right)^{2}={\frac {1}{2}}x^{2}.} 如果 c {\displaystyle c} 和 d {\displaystyle d} 互素，则我们可直接使用 c {\displaystyle c} 和 d {\displaystyle d} ，不必转换成 e {\displaystyle e} 和 f {\displaystyle f} 。 如果 x {\displaystyle x} 不能表示为两个平方数之和，则根据第三步的结论，可知必有一个 z {\displaystyle z} 的因子不能表示为两个平方数之和；设它为 w {\displaystyle w} 。于是我们从 x {\displaystyle x} 推出了一个更小的整数 w {\displaystyle w} ，都不能表示为两个平方数之和，但都能被一个能表示为两个平方数之和的整数整除。由于这个无穷递降是不可能的，因此 x {\displaystyle x} 一定能表示为两个平方数之和。 第五步、“任何形为 4 n + 1 {\displaystyle 4n+1} 的素数都能表示为两个平方数之和。” 如果 p = 4 n + 1 {\displaystyle p=4n+1} ，则根据费马小定理可得 1 , 2 4 n , 3 4 n , … , ( 4 n ) 4 n {\displaystyle 1,2^{4n},3^{4n},\dots ,(4n)^{4n}} 被 p {\displaystyle p} 除都余1。因此它们的差 2 4 n − 1 , 3 4 n − 2 4 n , … , ( 4 n ) 4 n − ( 4 n − 1 ) 4 n {\displaystyle 2^{4n}-1,3^{4n}-2^{4n},\dots ,(4n)^{4n}-(4n-1)^{4n}} 都能被 p {\displaystyle p} 整除。这些差可分解为 a 4 n − b 4 n = ( a 2 n + b 2 n ) ( a 2 n − b 2 n ) . {\displaystyle a^{4n}-b^{4n}=\left(a^{2n}+b^{2n}\right)\left(a^{2n}-b^{2n}\right).} 由于 p {\displaystyle p} 是素数，它一定能整除这两个因子之一〔以下称它们为“和因子”和“差因子”〕。如果它能整除任何一个“和因子”，则根据第四步的结论可得 p {\displaystyle p} 能表示为两个平方数之和〔由于 a {\displaystyle a} 和 b {\displaystyle b} 仅相差 1 {\displaystyle 1} ，它们必然互素〕。而如果它能整除所有的 4 n − 1 {\displaystyle 4n-1} 个“差因子” 2 2 n − 1 , 3 2 n − 2 2 n , … , ( 4 n ) 2 n − ( 4 n − 1 ) 2 n {\displaystyle 2^{2n}-1,3^{2n}-2^{2n},\dots ,(4n)^{2n}-(4n-1)^{2n}} ，则它也能整除 4 n − 2 {\displaystyle 4n-2} 个一阶差、 4 n − 3 {\displaystyle 4n-3} 个二阶差，依此类推。由于数列 1 k , 2 k , 3 k , … {\displaystyle 1^{k},2^{k},3^{k},\dots } 的第 k {\displaystyle k} 阶差都等于 k ! {\displaystyle k!} ，于是第 2 n {\displaystyle 2n} 阶差都等于 ( 2 n ) ! {\displaystyle (2n)!} ，显然它不能被 p {\displaystyle p} 整除。因此， p {\displaystyle p} 不能整除所有的“差因子”，得证 p {\displaystyle p} 能表示为两个平方数之和。 唐·扎吉爾（英语：Don Zagier）的证明基于羅傑·希斯-布朗早期证明的简化。令素数 p {\displaystyle p} 满足 p = 4 k + 1 {\displaystyle p=4k+1} 以及 N {\displaystyle \mathbb {N} } 为自然数集，考虑三元数组有限集 S = { ( x , y , z ) ∈ N 3 : x 2 + 4 y z = p } {\displaystyle S=\{(x,y,z)\in \mathbb {N} ^{3}:x^{2}+4yz=p\}} ，于是 S {\displaystyle S} 存在两种对合映射的方式：一种是 ( x , y , z ) ↦ ( x , z , y ) {\displaystyle (x,y,z)\mapsto (x,z,y)} ，其中不动点 ( x , y , y ) {\displaystyle (x,y,y)} 即为 p {\displaystyle p} 的两平方和的表示形式；另一种则是较为复杂的形式： ( x , y , z ) ↦ { ( x + 2 z , z , y − x − z ) x < y − z ( 2 y − x , y , x − y + z ) y − z < x < 2 y ( x − 2 y , x − y + z , y ) x > 2 y {\displaystyle (x,y,z)\mapsto {\begin{cases}(x+2z,\,z,\,y-x-z)&x<y-z\\(2y-x,\,y,\,x-y+z)&y-z<x<2y\\(x-2y,\,x-y+z,\,y)&x>2y\end{cases}}} 必然有且只有一个不动点 ( 1 , 1 , k ) {\displaystyle (1,1,k)} ，因此集合 S {\displaystyle S} 的元素个数必为奇数，于是不动点 ( x , y , y ) {\displaystyle (x,y,y)} 必然存在。 Richard Dedekind，“費馬的理论”。 C. F. Gauss，“Disquisitiones Arithmeticae”（費馬版）。由Apple翻译。俊洪，1365年。 Don Zagier, A one-sentence proof that every prime p ≡ 1 mod 4 is a sum of two squares. Amer. Math. Monthly 97 (1990), no. 2, 144 Two more proofs at PlanetMath.org A one-sentence proof of the theorem. 原始内容存档于5 February 2012.  Fermat's two squares theorem （页面存档备份，存于互联网档案馆）, D. R. Heath-Brown, 1984.