以前看到的一支Numberphile的视频,介绍了一个很简洁的丢番图方程,
如何计算它的一组整数解?
由于丢番图方程的求解被限制在整数范围,所以许多看起来简单的问题通常都有非常复杂的解。上面的问题就是一个典型案例。
1992年,Roger Heath-Brown在研究弱近似原则失效形式的零点密度问题时,提出了一个猜想:
对于任意一个正数,丢番图方程有无穷多组整数解。
(如果没学过初等数论的话,就把看作,也就是或。)
如今这个猜想没有得到证明,而且,人们求解丢番图方程的过程也是困难重重。
首先解释一下Heath-Brown的猜想中为什么要有的条件。
已知任何一个整数都可以写作如下三种形式中的一种,,分别计算它们的立方,
三者被9整除的余数分别为0, -1, 1,所以对于任意整数,有。
根据同余运算的基本性质,若,,则,所以有
由此可知,当时,方程不存在整数解。
所以,在求解方程时,不需要考虑或的情况。
可是,取100以内的数,即便已经排除掉4, 5; 13, 14; 22, 23; 31, 32; 40, 41一类的情况,在我看视频的2017年,对应的整数解依然一组都没找到。(更遑论无穷多组整数解了。)
当然,并不是每一组解都难找。比如,时,对应;时,对应;时,对应。数学家们甚至还找出了时对应的参数解(时的参数解你也能找到,就别劳烦数学家了):
2019年上半年,英国数学家Andrew Booker找到了丢番图方程的第一组整数解。当然,数学工具还是椭圆曲线那一套,求解过程大概是[1]:
当然,这里只是给出了思路和算法,执行层面还是要依靠计算机。
最后的计算结果为:
即,
也许有人会说,相比于那个计算苹果香蕉菠萝正整数解的网红问题,同样用到椭圆曲线,人家的结果长达80位,而这个问题的答案只有16位数,是不是显得“简单”了点儿?
实际上,将水果问题的齐次方程转化为Weierstrass形式后,很容易得到它的一组整数解11, 4, -1。(如果足够有耐心,甚至都不需要椭圆曲线就能手工暴力破解出来。)
此后,以这组解为起点,在椭圆曲线上利用弦切技巧进行加法运算寻找有理点,多次迭代后总会得到让三种水果都为正数的答案。
(对于这个水果问题,找到第一组解后,计算机进行了8次不算复杂的迭代,最终找到了那三个大得惊人的正整数。)
但是对于丢番图方程,为了找到那个长达16位数的答案,Andrew Booker动用了布里斯托大学计算中心的超级计算机
算了整整一个月。
“The total computation used approximately 23 core-years over one month of real time.”[2]
补充一句,根据Andrew Booker的方法,2020年,对应的整数解被MIT的学者找到(因为33和42都满足的形式)。
100以内可行的数字终于全部破解。
拉格朗日四平方和定理,以前看到的时候证了几天没证出来。