close

圖像裡可能有文字
是說在一個失眠的夜晚,在FB的粉專看到這張可愛的圖片,受過中華民國填鴨式教育荼毒的我,
下意識地就將題目轉化為:x/(y+z) + y/(x+z) + z/(x+y) = 4
並開始一頭栽下去計算過程,由於題目要求限定是答案必須是正整數(Z+),
憑著腦中高中數學破碎的記憶片段,稍微轉化到這行算式後:

  x(x+z)(x+y)+ y(y+z)(x+y)+ z(y+z)(x+z) = 4(y+z)(x+z)(x+y)
  x^3 + y^3 + z^3 -3[(y+z)x^2+(x+z)y^2+(x+y)z^2] - 5xyz = 0

就隱隱約約地感覺到這道題目並不像想像中這麼簡單:以人腦可以計算的數量級中,沒有可行的數據。

事實上我也想試試看負數或者虛數,但懶惰如我,索性將這道題目丟上GOOGLE,
沒想到卻開啟了一道大門:Quara, 一個類似Pan Answer, 奇摩知識+的地方,
但是全部英文,充滿著專業術語的英文,裡面寫清楚地寫出了答案,

  x=154476802108746166441951315019919837485664325669565431700026634898253202035277999
  
y=36875131794129999827197811565225474825492979968971970996283137471637224634055579, 
  
z=4373612677928697257861252602371390152816537558161613618621437993378423467772036

80位數,的確不是我這凡夫俗子可以輕易算出的數字。也驅使我開始去了解整個計算過程:
數學家們使用了一個稱為 "the long Weierstrass form"的技巧以及另一個名詞: elliptic curve,橢圓曲線。

----------------------------------------------以下高能,非戰鬥人員請迴避----------------------------------------------

假設 a^2= b^3 + b^2 * x + b * y + c ,經過一些"數學過程",成功地解出為

        a^2= b^3 + 109 * b^2  + 224 * b , 以及一張美麗的圖形:魚尾狀的曲線,右邊的魚尾將會不斷延伸。

然後再經過一些"數學過程",帶回去原本的 (x, y, z)  結果如下:

x=56-a+b/56 -14a, y=56-a-b/56 -14a, z= -28-6a/28-7a, 總之看起來很不友善

也很幸運地,數學家的程式發現(-100, 260) 是魚形曲線一個很好的點,並且帶入x, y, z 後
並經過調整後可以得到 (x, y, z)=(4, -1, 11),但卻沒有跟我們的題目要求正整數(Z+) 相符...

而右圖是這個圖形有趣的地方,任一直線在環形區交會的兩點,座標總和的負數就是和曲線區交會的鏡像點...
數學家則是先開始嘗試了如果環形區的切線將會落在曲線區的位置,
以P:(-100, 260)為例,P+P=2P=(8836/25, -950716/125),非常奇怪的數字
相對應的 (x, y, z)=(9499, -8784, 5165)也不是所求。

然後數學家就開始將P不斷地向上疊加,直到了9P,並得到了天文數字般的 (x, y, z)

----------------------------------------------------------End------------------------------------------------------------

在經過嚴格條件限制的題目,甚至連超級電腦要暴力解也需要數十天。
但是,如果今天 "_P" 的數值不是9呢,甚至是另外一個天文數字?
題目原文的4改成其他任意 >3/2 的整數, (x, y, z)也將會是另一番光景...
這也應用到了密碼學,畢竟只有密碼持有者是可以知道"_P"的數值...
而也造就橢圓曲線密碼學(英語:Elliptic curve cryptography,縮寫為ECC),

看似簡單的題目,卻令我得以一窺這個加密技術的一角,以及消磨掉一個值班的夜晚。

Quara原文連結,另外參閱 Wiki 橢圓曲線密碼學

 

 

arrow
arrow

    swordice1020 發表在 痞客邦 留言(0) 人氣()