0250 - Diophantus 算術#
案件摘要#
約 250 年,亞歷山卓的丟番圖(Diophantus)寫下《Arithmetica》(《算術》),專門追捕方程的整數解。這樁案件埋下了三顆種子:費馬頁邊的最後定理、希爾伯特第 10 問題的不可解性,以及「丟番圖方程」這門延續兩千年的偵探學。
前因 -- 為什麼會有這個案子#
- 希臘傳統的斷點:希臘數學(歐幾里得、阿基米德)以幾何為本,量是連續的;丟番圖反其道而行,只問有理數/整數的解,是「算術派」的復興。
- 巴比倫遺產:兩河流域的數值代數經希臘化世界吸收,丟番圖接棒並加入符號。
- 題庫式著作:《Arithmetica》原有 13 卷(現存約 6 卷希臘本+後來發現的 4 卷阿拉伯本),含約 290 道題,每題都是一個「懸案」。
線索與推理 -- 數學式、程式、理論#
線索一:丟番圖方程#
凡求整數解的多項式方程,今日統稱丟番圖方程(Diophantine equation)。最基本的是線性型:
定理(線性丟番圖方程可解性): \(ax + by = c\) 有整數解 \(\iff \gcd(a,b) \mid c\) 。
推理:由擴展歐幾里得演算法可找到 \((x_0, y_0)\) 使 \(ax_0 + by_0 = \gcd(a,b)\) ;兩邊乘 \(c/\gcd(a,b)\) 即得特解。通解為
書中的典型問題:「把 100 分成兩部分,使一數的三分之一加另一數的四分之一等於 20」,即
線索二:早期符號記法#
丟番圖發明了「縮寫代數(syncopated algebra)」: - 未知數記為 \(\varsigma'\) (s 的變體,「the number」的縮寫)。 - 平方 \(\Delta^Y\) (dynamis)、立方 \(K^Y\) (kybos)。 - 減法有專門符號(倒寫的 \(\psi\) ),加法用併列。
這是從巴比倫「純文字代數」走向現代符號代數的中間化石——但尚未有通用係數符號(韋達 1591 年才補上),每題的係數都是具體數字。
線索三:費馬的頁邊(1637 年偵探轉折)#
費馬讀巴赫校訂本《Arithmetica》第二卷第 8 題(把平方數分成兩個平方數之和: \(x^2 + y^2 = z^2\) 的平方版)時,在頁邊寫下:
「將一個立方數分成兩個立方數、一個四次冪分成兩個四次冪,或一般地,將高於二次的冪分成兩個同次冪,是不可能的。我發現了一個絕妙的證明,可惜這裡空白太小,寫不下。」
即費馬最後定理:
這條頁邊筆記成為數學史上最著名的懸案,直到 1995 年才由 Wiles 借助橢圓曲線與模形式結案——而橢圓曲線的研究工具,正是從《Arithmetica》的整數解傳統生長出來的。
線索四:希爾伯特第 10 問題(1970 年結案:不可解)#
1900 年希爾伯特提出第 10 問題:是否存在演算法,對任意丟番圖方程判定它有無整數解?
1970 年,Matiyasevich(綜合 Davis、Putnam、Robinson 的工作)證明:這樣的演算法不存在。關鍵在於:圖靈機可計算的(遞歸可列舉)集合,恰好就是丟番圖集合——兩者等價,而停機問題不可判定,故丟番圖方程的判定性也不可解。多項式方程的整數解搜索,本質上是不可判定問題。
Python:擴展歐幾里得解線性丟番圖方程#
def ext_gcd(a, b):
"""回傳 (g, x, y) 使 a*x + b*y = g = gcd(a,b)"""
if b == 0:
return (a, 1, 0)
g, x, y = ext_gcd(b, a % b)
return (g, y, x - (a // b) * y)
def linear_diophantine(a, b, c):
"""解 a*x + b*y = c 的整數解;無解回傳 None"""
g, x0, y0 = ext_gcd(a, b)
if c % g != 0:
return None
k = c // g
return (x0 * k, y0 * k, g)
x, y, g = linear_diophantine(12, 42, 6)
print(f"12*{x} + 42*{y} = {12*x + 42*y}") # 12*(-3) + 42*1 = 6
結案 -- 後果與影響#
- 丟番圖分析成為數論的核心分支:佩爾方程、橢圓曲線、堆疊數論皆源於此。
- 費馬頁邊 → 350 年懸案 → Wiles 1995 年結案,催生了現代模形式與 Galois 表示理論的黃金時代。
- 希爾伯特第 10 問題的「不可解」結案,是邏輯、可計算性與數論的世紀交會,證明數論中存在天然的「不可判定」地帶。
- 符號記法的演化路線:巴比倫(文字)→ 丟番圖(縮寫)→ al-Khwarizmi(文字復興)→ 韋達、笛卡兒(現代符號)。
關鍵人物與文獻#
- Diophantus of Alexandria(約 200–284):「代數學之父」(與 al-Khwarizmi 共享此頭銜的競爭者)。
- Pierre de Fermat(1607–1665):頁邊筆記製造了 350 年懸案。
- Martin Davis, Hilary Putnam, Julia Robinson, Yuri Matiyasevich:1970 年結案希爾伯特第 10 問題。
- Diophantus, Arithmetica;T. Heath, Diophantus of Alexandria, 1910。