费马大定理说的是$n > 2$的情况,但是我们可以从$n=2$出发,求解到勾股数组的一般表达式,并且从中得到证明费马大定理的原始思想。

互质解 #

我们在实整数,也就是$\mathbb{Z}$内求解。为了求解不定方程$x^2+y^2=z^2$,首先我们注意到,这是一道齐次方程,这告诉我们,如果存在某一组解,那么可以通过同除以公约数的方法,得到一组两两互质的解。换句话说,有解必有互质解,这是$x^n+y^n=z^n$的解的通性。那么,我们假设$(x,y,z)=(a,b,c)$ 是方程$x^2+y^2=z^2$的一个互质解。

下面来分析同余性质。我们选择素因子2,也就是分析$a,b,c$的奇偶性。在$\mathbb{Z}$中,2是一个比较特殊的素数,因为它是绝对值最小的素数,所以它的同余情况最小(2除任意整数,要不模1,要不整除)。很容易注意到一个事实是:

如果$n\equiv 1(\bmod\,2)$,那么$n^2\equiv 1(\bmod\,4)$。

这样子,我们就得到$a,b$之中,必然一奇一偶。证明如下:因为是互质解,所以不可能都是偶数,假如是两个奇数,那么$a^2\equiv 1(\bmod\,4),b^2\equiv 1(\bmod\,4)$,得到$(a^2+b^2)\equiv 2(\bmod\,4)$,但是$a^2+b^2=c^2$,所以$c^2\equiv 2(\bmod\,4)$,这是矛盾的,因为平方数模4只能是1或0。

既然$a,b$一奇一偶,那么$c$就是奇数,可以设$a$是偶数,$b$是奇数,注意到
$$a^2=c^2-b^2=(c-b)(c+b)$$
我们知道,$m,n$的公约数必然也整除$m+n$和$m-n$,因此,$c-b$和$c+b$的公约数必然也整除$2c$和$2b$,由于$c,b$都是奇数,因此$c-b$和$c+b$有公约数2,这样子,可以设$c-b=2u,c+b=2v,a=2\alpha$,此时有
$$\alpha^2=uv$$
这时候$u+v=c,v-u=b$,由于在假设中$b,c$是互质的,因此$(u,v)=1$。两个互质的数之积是一个平方数,那么这两个数在相差一个单位数因子的意义之下,本身就是平方数。要注意,这里“相差一个单位数因子”是不能缺少的,$\mathbb{Z}$中的单位数是$\pm 1$,这告诉我们6不但可以写成$2\times 3$,也可以写成$(-2)\times (-3)$。因此可以设$u=\pm p^2,v=\pm q^2$,得到互质勾股数组的通解公式:
$$a=\pm 2pq,\ b=\pm q^2\mp p^2,\ c=\pm q^2\pm p^2$$

步骤回顾 #

我们来简单分析一下我们的各个步骤,并且留意哪些步骤可以同样地用来分析$n > 2$时的解。首先第一步是有解必有两两互质解,这个性质对于任意$n$都成立;其次,我们用到了关于素数2的同余分析,这个步骤在$n > 2$时就不适用了,但是,扩展数域之后,换另外的素因子,这个步骤同样可行;最后,我们用到了一个很关键的性质:“两个互质的数之积是一个平方数,那么这两个数在相差一个单位数因子的意义之下,本身就是平方数”。把这句话中的平方数换成立方数、四次方数等,结论照样成立,这跟$\mathbb{Z}$的唯一分解性质有关(算术基本定理)。

我们还看到,为了求解$x^2+y^2=z^2$,我们要将其进行因式分解$x^2=(z-y)(z+y)$,而且为了分析上的便捷性,是要分解成一次多项式的乘积。然而,这一点在$n > 2$时,在实数范围内并不能做到,而为了做到这一点,就需要将整数拓展到复数范围内,这时,我们就可以看到扩展数域的必要性了。不过,扩展后的“整数”中,很多在实整数比较显然的性质都不成立,比如唯一分解性,这就需要进一步的技巧来克服这些困难,而这些内容,将会在后面的文章谈及。

转载到请包括本文地址:https://www.kexue.fm/archives/2808

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

如果您需要引用本文,请参考:

苏剑林. (Aug. 15, 2014). 《从费马大定理谈起(二):勾股数 》[Blog post]. Retrieved from https://www.kexue.fm/archives/2808

@online{kexuefm-2808,
        title={从费马大定理谈起(二):勾股数},
        author={苏剑林},
        year={2014},
        month={Aug},
        url={\url{https://www.kexue.fm/archives/2808}},
}