晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

你在看到标题的时候,一定会想:

这个问题我知道答案: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

—  —

福利来了|AI算力免费领

500元 卡时GPU资源「限时」免费领!并行®AI云面向AI深度学习和高性能计算,提供A100、V100、T4等丰富的云算力资源;预置TensorFlow、PyTorch等环境,开箱即用;三线专家团队7*24小时在线提供多元化服务,助开发者提升科研效率,降低科研成本。欢迎扫码免费体验~:

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

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

  1. 3的三个整数立方和有多少个解?全球40万台计算机助力,MIT研究登上PNAS

    来源:机器之心本文约2300字,建议阅读5分钟人类首次将42写成3个整数的立方和,100内自然数已全部被攻破. 三立方数和一直是困扰数学家的难题之一,一些数字的求解非常简单,例如 29 可以写成 3^ ...

  2. 超三万台电脑遭新恶意软件感染、联想修复特权提升漏洞|12月20日全球网络安全热点

    安全资讯报告 黑客在赎金被拒绝后在"暗网"上泄露了英国警方的机密数据 据英国<每日邮报>报道,英国一些警察部队持有的机密信息在一次令人尴尬的安全漏洞中被黑客窃取. 网络 ...

  3. [C++]输入三个整数x,y,z,请把这三个数由小到大输出

    #include<iostream> using namespace std; //题目:输入三个整数x,y,z,请把这三个数由小到大输出. void test04() {int x, y ...

  4. JAVA输出x和y和z_JAVA实例:输入三个整数x,y,z,请把这三个数由小到大输出-吾爱编程网...

    今天为大家分享一个java经典实例输入三个整数x,y,z,请把这三个数由小到大输出,相信很多初学者都会学到这道题目,接下来吾爱编程为大家介绍一下程序的相关写法,有需要的小伙伴可以参考一下: 1.题目: ...

  5. python输入三个整数、输出最大的数_题目:使用Python编程,输入三个整数x,y,z,请把这三个数由小到大输出...

    题目:输入三个整数x,y,z,请把这三个数由小到大输出 思路:这题主要使用list.sort()的方法排列,首先要保证用户输入的数字一定是整数,如果不是整数需要提示用户输入错误,重新输入.(使用try ...

  6. 萌新的Python练习实例100例(五)输入三个整数x,y,z,请把这三个数由小到大输出。

    题目: 输入三个整数x,y,z,请把这三个数由小到大输出. 分析1: 两个两个数字对比,然后改变他们的顺序 x > y x,y的顺序变更为y,x x > z x,z的顺序变更为z,x y ...

  7. 乒乓球比赛 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比 请编程序找出三队赛手的名单。

    //:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.   //已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比 //,请编程序找出三队赛手 ...

  8. x轴z轴代表的方向图片_x y z三个轴的方向 x轴、y轴和z轴分别代表的是什么?

    1, x轴.y轴和z轴分别代表的是什么? 空间任意选定一点O,过点O作三条互相垂直的数轴Ox,Oy,Oz,它们都以O为原点且具有相同的长度单位.这三条轴分别称作x轴(横轴),y轴(纵轴),z轴(竖轴) ...

  9. C语言——实例005 输入三个整数x,y,z,请把这三个数由小到大输出。

    /*Name: Copyright: Author: Date: 27/07/17 08:44Description: [程序5]题目:输入三个整数x,y,z,请把这三个数由小到大输出.1.程序分析: ...

最新文章

  1. python的顶级高手_Python+深度学习
  2. 救命,Linux正在吃掉我的内存!
  3. 求素数的方法完整归纳,学的不仅是“求素数”!
  4. 13个AJAX验证框架
  5. Linux字符驱动程序的基本结构与函数
  6. c++进制转换代码_轻松实现C/C++各种常见进制相互转换,你还不会你就落后了
  7. Lost Array(CF-1043B)
  8. 【python】获取http响应
  9. C# UDP 发送 接收
  10. Bus Hound实用教程
  11. 利用matlab函数创建数组
  12. VC++ 6.0实现视频捕捉(VFW)
  13. Linux下根据用户ID查询用户名
  14. MySQL sql语句
  15. Java开发记事本(完整版)
  16. ppt 深度学习绘图_最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品...
  17. rtthread工业使用_基于RTThread 的LwIP使用讲解
  18. 前方高能!用java写自动售货机的程序
  19. java计算机毕业设计临时停车收费系统源码+系统+mysql数据库+lw文档
  20. 蓝桥杯国赛06——第十届国赛客观题

热门文章

  1. 为什么Python的“私有”方法实际上不是私有的?
  2. 区块链今年,胜过过去十年
  3. MySQL数据库之索引的应用
  4. 三分钟学会css3中的flexbox布局
  5. 程序猿小白应该注意什么
  6. ASP.NET Core奇遇记:无用户访问,CPU却一直100%
  7. vue2.0中文网站2.0
  8. 搭建Eclipse+MyEclipse开发环境
  9. linux大文件拷贝,Linux如何提高大文件的拷贝效率
  10. python管道界面_python中管道用法入门实例