记:关于费马平方和定理的证明

前言

最近,笔者在一道 OI 题的 Hint 里看到了这样一个定理:

费马平方和定理:一个奇素数能被表成两个平方数之和,当且仅当它是 模4余1 型素数。

网上的几个证法看了之后写下这篇笔记。

法一:构造

核心:证明方程 \(4xy+z^2=p\)\(p\)模4余1型素数时,必有 \(x=y\) 的解。

前置知识

基数:集合的元素个数。

对合:逆函数的函数,即满足 \(f(f(x))=x\) 的函数。

Step1

设集合 \(S=\left\{ (x,y,z) \vert 4xy + z^2 = p , x \in N , y \in N , z \in Z \right\}\)

其中 \(p\) 是一固定素数。

显然是个有限集。

再设 \(T=\left\{ (x,y,z) \in S | z >0 \right\}\) ,容易发现此时这个集合就是方程 \(4xy + z^2 =p\) 的解集了。

这里的 \(x\)\(y\) 事实上是处于相同地位的(函数 \(f:T \to T , (x,y,z) \to (y,x,z)\) 是对合),那我们只要证明 \(T\) 的基数是奇数就行了。

Step2

这时候我们开始考虑基数。

先是 \(S\) ,构造一个函数 \(g:S \to S , (x,y,z) \to (y,x,-z)\) (跟 \(f\) 类似)。

由于 \(z \not= 0\) ,所以 \(g\) 一定没有不动点,也就是说 \(S\) 的基数是偶数。

同时,这个函数实现了 \(T\)\(S/T\) 之间的一一映射。

因此 \(T\) 的基数是 \(S\) 的一半。

Step3

这个一半就很巧了呀。

尝试构造一个新的集合,其基数也是 \(S\) 一半的,并构造这个集合上的函数,以此证明 \(T\) 的基数是奇数。

这一步算得上是整个证明过程中的点睛之笔:

发现 \(g\) 也将 \(x-y\)\(z\) 的正负性同时改变。当然 \(x-y + z\) 是一定不为 \(0\) 的,具体套入原式验证。

\(U = \left\{ (x,y,z) \in S | (x-y) + z > 0 \right\}\) ,那么 \(g\) 也实现了 \(U\)\(S/U\) 之间的一一映射。

所以 \(U\) 的基数也是 \(S\) 的一半,与 \(T\) 相同。

\(U\) 上构造映射, \(h:U \to U , (x,y,z) \to (x-y+z,y,2y-z)\)

它是合法的因为 \(4y(x-y+z) + (2y-z)^2=4xy + z^2\) ,同时这是一个对合。

于是考虑它是否有不动点,就可以判断基数奇偶性了。

如果有,那么 \(y=z\) ,又因为 \(4xy + z^2=p\)

所以 \(y(4x+y)=p\) ,这就要求 \(y=z=1\)\(x=\frac{p-1}{4}\)

这时 \(p\)模4余1型素数,\(T\) 的基数为奇数,一定有满足 \(x=y\) 的解。

原文地址:https://www.cnblogs.com/Kelvin2005/p/15574797.html