這個計算機的用途
這是一款受費馬大定理(Fermat's Last Theorem)啟發的趣味數論搜尋工具。費馬大定理指出:當整數 \(n \ge 3\) 時,不存在正整數 X、Y、Z 滿足 \(X^n + Y^n = Z^n\)。本工具將等式左側推廣為「n 個連續 n 次方之和」,並檢驗以下命題:當 \(n \ge 4\) 時,不存在自然數 a、b,使得從 a 開始的 n 個連續 n 次方之和等於 \(b^n\)。對於您指定範圍內的每一個指數 n,工具會掃描範圍內的每一個起始底數 a,並回報所找到的任何 (a, b) 配對;若在該區間內找不到,則顯示「--」。
使用方式
輸入要測試的指數 n 的最小值與最大值(\(n \ge 2\)),以及起始底數 a 的最小值與最大值(\(a \ge 1\))。工具會逐一遍歷每個 n,並對每個 a 計算 $$S = a^n + (a+1)^n + \ldots + (a+n-1)^n,$$ 求出 S 的整數 n 次方根,再以大整數運算精確驗證。請注意,搜尋範圍過大時運算會非常緩慢,因為 S 的增長極為迅速。
公式說明
方程式為:$$\sum_{j=0}^{n-1}\left(a+j\right)^{n} = b^{n}, \qquad \begin{aligned} n &\in \left[\text{n Start},\, \text{n End}\right] \\ a &\in \left[\text{a Start},\, \text{a End}\right] \end{aligned}$$ 為了避免浮點數造成的誤判,工具會將 S 計算為精確的大整數,再透過二分法求得候選根 b,接著以精確的 \(b^n == S\) 條件,重新測試 \(b-1\)、\(b\) 與 \(b+1\)。在較小的 n 值已知有解:\(n = 2\) 時,\(3^2 + 4^2 = 5^2\) 以及 \(20^2 + 21^2 = 29^2\);\(n = 3\) 時,\(3^3 + 4^3 + 5^3 = 6^3\)。
實際範例
設定 \(\text{nStart} = 3\)、\(\text{nEnd} = 3\)、\(\text{aStart} = 1\)、\(\text{aEnd} = 10\)。當 \(a = 3\) 時:$$S = 27 + 64 + 125 = 216,$$ 而 216 的整數立方根為 6,且 \(6^3 = 216\)。工具會記錄為 \(n = 3 \rightarrow a = 3\)、\(b = 6\)。
常見問題
這能證明該命題嗎?不能。它只在有限區間內搜尋反例;找不到反例並不構成數學上的證明。
為什麼允許 \(n = 2\) 與 \(n = 3\)?這兩種情況已知有解,因此即使「無解」的命題僅針對 \(n \ge 4\),工具仍能用它們來示範實際的解。
為什麼有時會逾時?這個總和大致以 \(n \cdot (a + n)^n\) 的速度成長,因此過大的範圍會產生極為龐大的數字;請將範圍控制在合理的大小。