三平方和

Sat, 18th January 2020Edit on Githubsquareunimodular

2011年3月KeyTo9_Fans提问:

设数列{An}\{A_n\}是不能表示成a2+b2+c2a^2+b^2+c^2(或者说三个完全平方数之和)的正整数组成的数列, 即A004215
比如
A1=7A_1=7
A2=15A_2=15
A3=23A_3=23
A4=28A_4=28
A5=31A_5=31
……

求证:
(1)An>6nA_n>6n
(2)limnAnn=6\lim\limits_{n\to\infty}\frac{A_n}n=6

初步分析

mathe根据A004215中信息发现这个数列就是4a(8k+7)4^a(8k+7), 但是这个结论比较困以证明。
有了这个结论,这里的问题就很简单了, 因为:
不超过n的数中
8k+7型的有[n+18][\frac{n+1}8]
4(8k+7)型的有[n+432][\frac{n+4}{32}]
..
4h(8k+7)4^h(8k+7)型的有[n+4h22h+3][\frac{n+4^h}{2^{2h+3}}]
累加即可。
结果严格小于n+18+n+432+=n+16\frac{n+1}8+\frac{n+4}{32}+\dots=\frac{n+1}6.
所以我们得到n<An+16n\lt\frac{A_n+1}6,或者说6nAn6n\le A_n.
另外由于AnA_n不是3的倍数,不可能等于6n6n,所以得到An>6nA_n\gt 6n.
而又因为上面计数可以反向防缩得到n>An+16log2(An)n\gt \frac{A_n+1}6-\log_2(A_n).
于是我们得到limnAnn6\lim\limits_{n\to\infty}\frac{A_n}n\le 6,结合An>6nA_n\gt 6n得到limnAnn=6\lim\limits_{n\to\infty}\frac{A_n}n=6.
zgg__给出了数列Ann\frac{A_n}n图像:
threesquarestat

KeyTo9_Fans也指出,证明(8k+7)的正整数不能表示为3个平方数之和很容易
首先看a2mod8a^2 \mod 8的结果:
02mod8=00^2 \mod 8=0
12mod8=11^2 \mod 8=1
22mod8=42^2 \mod 8=4
32mod8=13^2 \mod 8=1
42mod8=04^2 \mod 8=0
52mod8=15^2 \mod 8=1
62mod8=46^2 \mod 8=4
72mod8=17^2 \mod 8=1
只有001144三种结果。
其中:
0=0+0+00=0+0+0
1=1+0+01=1+0+0
2=1+1+02=1+1+0
3=1+1+13=1+1+1
4=4+0+04=4+0+0
5=4+1+05=4+1+0
6=4+1+16=4+1+1
77不能用33001144来表示。
所以形如(8k+7)(8k+7)的正整数不能表示成33个平方数之和。
剩下的问题还有:

  1. 4(8k+7)4(8k+7)16(8k+7)16(8k+7)、……的正整数也不能表示成33个平方数之和。
  2. 其余的正整数可以表示成33个平方数之和。

mathe指出,4a(8b+7)4^a(8b+7)不能表示成三平方数和也简单。由于是偶数,那么三个平方数必然全部偶数或两奇一偶。
对于全部偶数的情况,可以退化成4a1(8b+7)4^{a-1}(8b+7)问题,所以只需要考虑两奇一偶情况,但是这时和不是4的倍数,矛盾。

zgg__指出,根据A004215记载,高斯最早解决了三平方和问题。

幺模矩阵

mathe从网络上找到了证明过程, 其中主要使用了一种叫做幺模矩阵(Unimodular Matrix)的数学工具。 幺模矩阵就是那些所有元素都是整数,而且行列式是1或-1的矩阵。
对于幺模矩阵,其逆矩阵也是幺模矩阵,这个只要证明逆矩阵所有元素都是整数即可。
实际上,对于幺模矩阵A,求逆矩阵中一行相当于解方程
Ax=b=[000100]Ax=b=\begin{bmatrix}0\\0\\ \vdots\\0\\1\\0\\ \vdots\\0\end{bmatrix}
根据克莱姆法则,我们知道xi=AiAx_i=\frac{|A_i|}{|A|},其中AiA_i是将AA第i列用b替换得到矩阵。由于A=+1|A|=+-1,所以xix_i必然是整数。

幺模等价关系

论文里面提到一个等价关系,但是没有具体说明是什么等价关系,但是可以猜测到应该如下定义:
对于一个n×nn\times n的对称正定整数矩阵A,它对应于一个二次型xAxx^{\prime}Ax,其中xx是一个n维向量。
对么对于任何一个幺模矩阵T,我们说二次型xTATxx^{\prime}T^{\prime}ATxxAxx^{\prime}Ax等价,也可以说对称矩阵AATATT^{\prime}AT等价。
如果定义正定二次型f(x)=xAxf(x)=x^{\prime}Ax是一个n维整向量空间到正整数集的映射,
那么如果g(x)g(x)f(x)f(x)等价,那么它们的值域相等。证明很简单:
g(x)=xTATx=xBxg(x)=x^{\prime}T^{\prime}ATx=x^{\prime}Bx,对于任意a=bAba=b^{\prime}Ab,取c=T1bc=T^{-1}b,那么a=cBca=c^{\prime}Bc,反之亦然。所以两个函数值域相等。
比如一般二阶二次型就是ax2+2bxy+cy2ax^2+2bxy+cy^2,写成矩阵形式就是(xy)[abbc](xy)\begin{pmatrix}x&y\end{pmatrix}\begin{bmatrix}a&b\\b&c\end{bmatrix}\begin{pmatrix}x\\y\end{pmatrix}.
而三阶二次型就是ax2+2bxy+cy2+2dxz+2eyz+fz2ax^2+2bxy+cy^2+2dxz+2eyz+fz^2,写成矩阵形式为(xyz)[abdbcedef](xyz)\begin{pmatrix}x&y&z\end{pmatrix}\begin{bmatrix}a&b&d\\b&c&e\\d&e&f\end{bmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}.
比如射影几何里面,圆锥曲线方程的一般形式就是其次坐标的二次型。如果对于一个二次型,对于所有非零向量代入结果大于0我们说是正定的.

证明简介

文章证明了一个定理,如果一个3阶的正定整系数二次型其对应矩阵行列式为1,那么它等价于二次型x2+y2+z2x^2+y^2+z^2.
也就是说,对于任意一个3阶正定整系数矩阵A,存在幺模矩阵T使得A=TTA=T^{\prime}T.

有了这个结论,后面就相对简单一些了,我们只需要构造一个行列式为1的3阶正定整系数矩阵A,使其二次型可以取到整数n,文章中选择矩阵 [a11a121a12a22010n]\begin{bmatrix}a_{11}&a_{12}&1\\a_{12}&a_{22}&0\\1&0&n\end{bmatrix}.
由于这个矩阵对于
x=(001)x=\begin{pmatrix}0\\0\\1\end{pmatrix}
二次型取值为n,我们只需要构造的矩阵特征值为1即可,其中含3个参数
其中a11>0,b=a11a22a122>0a_{11}\gt 0,b=a_{11}a_{22}-a_{12}^2\gt 0.
行列式为1的条件相当于ba122(moda22)-b \equiv a_{12}^2(\mod a_{22})
构造中需要使用Dirichlet定理:对于任意互素整数a,b,数列{an+b}中存在素数。

具体证明过程有点复杂,有兴趣的可以直接查看原论文,或者到数学研发论坛查看mathe翻译的证明摘要过程。

三立方和

虽然三平方和的证明过程很不简单,但是和三立方和问题比较起来,还是小巫见大巫了。
数学家们最近据说动用了50万台计算机才解决了将42表示为三个整数立方和的问题:
42=(80538738812075974)3+804357581458175153+12602123297335631342=(-80538738812075974)^3 + 80435758145817515^3 + 12602123297335631^3

现在我们已知的结论有:
i) 有无穷种将1表示为三立方和的方案
(1±9m3)3+(9m4)3+(9m43m)3=1(1\pm 9m^3)^3 + (9m^4)^3 + (-9m^4 \mp 3m)^3 = 1
ii) Ramanujan给出了
(3n2+5nm5m2)3+(4n24nm+6m2)3+(5n25nm3m2)3=(6n24nm+4m2)3(3n^2+5nm-5m^2)^3+(4n^2-4nm+6m^2)^3+(5n^2-5nm-3m^2)^3=(6n^2-4nm+4m^2)^3

iii) 当n4(mod9)n\equiv 4(\mod 9)n5(mod9)n\equiv 5(\mod 9)时,x3+y3+z3=nx^3+y^3+z^3=n无整数解
iv) 我们可以猜测除了iii)中情况,所有其它n可以表示为三个立方数之和, 但是这个问题还无人能够证明。

将42表示为三个立方数之和的解决使得100以内所有自然数的三立方和问题得到了解决。

Github