费马平方和定理是由法国数学家费马在1640年提出的一个猜想,但他没有提出有力的数学证明。1747年,瑞士数学家莱昂哈德·欧拉提出证明后成为定理。
基本介绍
- 中文名:费马平方和定理
- 提出者:费马
- 提出时间:1640年
- 套用学科:数学
- 适用领域範围:初等数论
- 证明者:莱昂哈德·欧拉
- 证明时间:1747年
定理定义
费马平方和定理的表述是:奇质数能表示为两个平方数之和的充分必要条件是该质数被4除余1。
验证推导
欧拉在1747年证明了费马平方和定理,当年他四十岁。他在当年[[5月6日]]寄给[[哥德巴赫]]一封信,讲述这个定理的证明。该证明分五步,且用到了无穷递降法;由于信中没有把第五步讲清楚,因此[[1749年]]他再次寄给哥德巴赫一封信,详细讲述第五步的证明。
第一步
“如果两个整数都能表示为两个平方数之和,则它们的积也能表示为两个平方数之和。”
第一步的证明是婆罗摩笈多-斐波那契恆等式的一种:

而若将
与·
互换位置,即可得
。



第二步
“如果一个能表示为两个平方数之和的整数被另一个能表示为两个平方数之和的素数整除,则它们的商也能表示为两个平方数之和。”
假设a^2 + b^2能被p^2+q^2整除,且后者为素数。则p^2 + q^2能整除
:(pb-aq)(pb+aq) = p^2b^2 - a^2q^2 = p^2(a^2+b^2) - a^2(p^2+q^2).
由于p^2+q^2是素数,因此它能整除两个因子之一。假设它能整除pb-aq。由于
:(a^2+b^2)(p^2+q^2) = (ap+bq)^2 + (aq-bp)^2\,
可推出p^2+q^2能整除(ap+bq)^2。于是等式能被p^2+q^2的平方整除。两边除以(p^2+q^2)^2得:

因此其商能表示为两个平方数之和。
如果p^2+q^2能整除pb+aq,则利用等式
同样可证。

第三步
“如果一个能表示为两个平方数之和的整数被另一个不能表示为两个平方数之和的整数整除,则它们的商也必有一个不能表示为两个平方数之和的因子。”
假设x能整除a^2+b^2,且其商的分解式为p_1p_2\cdots p_n。则a^2+b^2 = x p_1p_2\cdots p_n。如果所有的因子p_i都能表示为两个平方数之和,则我们可以用p_1、p_2、等等去除a^2+b^2,并使用第二步的结论,可得每一个商都能表示为两个平方数之和。除到只剩x的时候,可得x也能表示为两个平方数之和,矛盾。因此,如果x不能表示为两个平方数之和,则至少有一个素数p_i 也不能表示为两个平方数之和。
第四步
“如果a和b互素,则a^2 + b^2的所有因子都能表示为两个平方数之和。”
这一步用到了无穷递降法。设x是a^2+b^2的一个因子。可记
:a = mx \pm c,\qquad b = nx \pm d
其中c和d的绝对值最多不超过x的一半。可得:
a^2 + b^2 = m^2x^2\pm 2mxc + c^2 + n^2x^2 \pm 2nxd + d^2 = Ax + (c^2+d^2).
因此,c^2+d^2一定能被x整除,设c^2+d^2 = yx。如果c和d不互素,则它们的[[最大公约数]]与x互质 (否则它就能整除a和b,与我们假设它们互素矛盾〕。因此它们的最大公约数的平方能整除y(因为它能整除c^2+d^2),于是我们得到e^2+f^2 = zx,其中e和f互素,且z不超过x的一半,这是因为

如果c和d互素,则我们可直接使用c和d,不必转换成e和f。
如果x不能表示为两个平方数之和,则根据第三步的结论,可知必有一个z的因子不能表示为两个平方数之和;设它为w。于是我们从x推出了一个更小的整数w,都不能表示为两个平方数之和,但都能被一个能表示为两个平方数之和的整数整除。由于这个无穷递降是不可能的,因此x一定能表示为两个平方数之和。
第五步
“任何形为4n+1的素数都能表示为两个平方数之和。”
如果p=4n+1,则根据费马小定理可得
被p除都余1。因此它们的差2^{4n} -1, 3^{4n} -2^{4n},\dots,(4n)^{4n} - (4n-1)^{4n}都能被p整除。这些差可分解为a^{4n} - b^{4n} =(a^{2n}+b^{2n}/(a^{2n} - b^{2n}.

由于p是素数,它一定能整除这两个因子之一〔以下称它们为“和因子”和“差因子”〕。如果它能整除任何一个“和因子”,则根据第四步的结论可得p能表示为两个平方数之和〔由于a和b仅相差1,它们必然互素〕。而如果它能整除所有的4n-1个“差因子”
,则它也能整除4n-2个一阶差、4n-3个二阶差,依此类推。由于数列1^k, 2^k, 3^k,\dots的第k阶差都等于k!,于是第2n阶差都等于(2n)!,显然它不能被p整除。因此,p不能整除所有的“差因子”,得证p能表示为两个平方数之和。
