x³ y³ z³=3 第三组整数解是多少,这个 58 年难题被 40 万台电脑算出来了

来自量子位
你在看到标题的时候,一定会想:
这个问题我知道答案:x、y、z 都等于 1
如果再多算几步,你还能发现 4、4、-5 也是一组整数解。
注意审题,以上只是方程 x³+y³+z³=3 的前两组整数解,第 3 组整数解是多少,你知道吗?
1953 年,数学家 Louis Mordell 提出一个疑问:这个第 3 组整数解,它存在吗?
最近,这组解终于被找到了。
警告一下,千万别尝试用穷举法编程!
因为这 3 个数远远超出了长整型的范围,但数学家还是动用了 40 万台电脑把答案找出来了。
另外,这两位数学家还把程序代码开源了。
当然,他们并非暴力搜索。这时候数学的作用就来了:它能为你提供算法,告诉你搜索范围,大大缩小搜索空间。
一个正整数能否表示成三个整数的立方之和(x³+y³+z³=k),关于它的每次发现都能引起不小的轰动。
这个看似没技术含量的问题,其实困扰了数学界很久。

三个立方数之和

1992 年,数学家 Roger Heath-Brown 提出了一个猜想:对于一个正整数 k,如果它除以 9 的余数不是 4 或 5(k 不等于 9n±4),那么 k 就可以表示成三个整数的立方之和。
而且每个 k 都有无穷多组整数解。
对于 k 小于 100 的情况,2019 年之前只有 k=33、42 没有找到整数解。
2019 年 3 月,33 告破:
33 = 8866128975287528³ + (-8778405442862239)³ + (-2736111468807040)³
2019 年 9 月,麻省理工的 Andrew Sutherland 和布里斯托大学 Andrew Booker 的两位安德鲁找到了 42 的答案:
42 = (-80538738812075974)³ + 80435758145817515³ + 12602123297335631³
当时,菲尔兹奖得主、剑桥大学教授 Timothy Gowers 还转推 “祝贺”。
虽然 100 以内的数皆告破,但几十年间却没有关于 k=3 的新解,许多人开始相信这个所谓的新解根本不存在,Heath-Brown 猜想也是错的。
但是,在找到 42 的答案之后,这两位安德鲁很快就出乎意料找到了 k=3 的第三组整数解:
3 = 569936821221962380720³ + (-569936821113563493509)³ + (-472715493453327032)³

数学化简

为了找到 42 和 3 的解决方案,两位数学家从现有算法开始,将立方和公式转化为他们认为更容易求解的形式:
他们将 x+y 看做一个参数 d,进一步修改了算法,然后将两边都除以 d 求余数(数学中记作 mod d)
这样问题就变成 k 除以 d 的余数是 z³。
这样,只需寻找 d 和 z 的值,即可保证找到对应于 k=3 的 x、y、z。
即便如此,搜索的数字空间也是无限大的。因此,他们通过使用数论中的 “筛法”,极大地减少了 d 范围,将 xyz 的搜索范围降到 10 的 15 次方以内。

拆解任务

两位安德鲁还开发了将搜索算法拆分成几十万个并行处理流的方法。
如果仅在一台计算机上运行该算法,则要花几百年的时间才能找到答案。而通过将工作分为几十万个较小的任务,就可以在个人电脑上运行,进一步加快搜索速度。
在 2019 年 9 月,研究人员通过 Charity Engine 实施了这项计划,借用普通用户的家用电脑资源,共同解决难题。
当时,全球加入 Charity Engine 分布式计算项目的计算机超过 40 万台。两位安德鲁将他们的算法部署在平台上。
(注:Charity Engine 项目还帮助科学家解决了一个蛋白质折叠问题,发了一篇 Science。)
最终,这项工作被分为大约 40 万个任务,每个任务需要一台计算机花费大约 3 个小时才能完成。
很快,全球各地的电脑返回的 k=42 的第一个整数解。
而仅仅两周后,他们已经发现,k=3 的第 3 个整数解就找到了,他们还把这组解印在了 T 恤上
至此,Mordell 在 68 年前的问题终于得到解答。
那么问题又来了 x³+y³+z³=3 的第 4 组解是多少?
可能有生之年很难见到了,因为求下一组解需要的计算量是现在的 1000 万倍,需要 4 万亿台电脑才能算出,而且可能还不够。
 论文作者之一 Andrew Sutherland
Sutherland 说:“我不知道我们是否会知道第四个解,但是我确信它存在。”
参考链接:
[1] https://phys.org/news/2021-03-sum-cubes-puzzle-solution.html
[2] https://www.pnas.org/content/118/11/e2022377118
[3] https://github.com/AndrewVSutherland/SumsOfThreeCubes

(0)

相关推荐