x3+y3+z3=3第三組整數解是多少?這個58年難題被40萬台電腦算出來了
你在看到標題的時候,一定會想:這個問題我知道答案:x、y、z都等於1。如果再多算幾步,你還能發現4、4、-5也是一組整數解。注意審題,以上只是方程x3+y3+z3=3的前兩組整數解,第3組整數解是多少,你知道嗎?
1953年,數學家Louis Mor DELL提出一個疑問:這個第3組整數解,它存在嗎?
最近,這組解終於被找到了。
警告一下,千萬別嘗試用窮舉法編程!
因為這3個數遠遠超出了長整型的範圍,但數學家還是動用了40萬台電腦把答案找出來了。
另外,這兩位數學家還把程序代碼開源了。
當然,他們並非暴力搜索。這時候數學的作用就來了:它能為你提供算法,告訴你搜索範圍,大大縮小搜索空間。
一個正整數能否表示成三個整數的立方之和(x3+y3+z3=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)3 + (-8778405442862239)3 + (-2736111468807040)3
2019年9月,麻省理工的Andrew Sutherland和布里斯託大學Andrew Booker的兩位安德魯找到了42的答案:
42 = (-80538738812075974)3 + (80435758145817515)3 + (12602123297335631)3
當時,菲爾茲獎得主、劍橋大學教授Timothy Gowers還轉推“祝賀”。
雖然100以內的數皆告破,但幾十年間卻沒有關於k=3的新解,許多人開始相信這個所謂的新解根本不存在,Heath-Brown猜想也是錯的。
但是,在找到42的答案之後,這兩位安德魯很快就出乎意料找到了k=3的第三組整數解:
3 = (569936821221962380720)3 + (-569936821113563493509)3 + (-472715493453327032)3
數學化簡
為了找到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年前的問題終於得到解答。
那麼問題又來了x3+y3+z3=3的第4組解是多少?
可能有生之年很難見到了,因為求下一組解需要的計算量是現在的1000萬倍,需要4萬億台電腦才能算出,而且可能還不夠。
△ 論文作者之一Andrew Sutherland
Sutherland說:“我不知道我們是否會知道第四個解,但是我確信它存在。”