1. 唐其鈺譯,方程的整數解,九章出版社,2002年出版,ISBN13:9799576032195
2. 認識連分數,林聰源,http://episte.math.ntu.edu.tw/articles/mm/mm_02_3_08/index.html
3. C.D.Olds(1963), Continued Fractions (New Mathmatical Library, Number 9)
www.plouffe.fr/simon/math/Continued%20Fractions.pdf
4. Strayer(1994), Elementary Number Theory, Waveland Press, 1994/2002, ISBN 1-57766-224-5
5. Infinite continued fractions http://www.math.binghamton.edu/dikran/478/Ch7.pdf
0.一次不定方程
二元一次方程可表示為 ax+by+c=0,其中係數 a 和 b 是非零整數,c 是任意整數。我們的目的是求出 x 和 y 的整數解。
一般我們會直接設 gcd(a,b)=1,也就是兩係數互質。它的一切整數解的公式是 x=x0−bt,y=y0+at,其中 (x0,y0) 是一組解,t 是整數。也就是說,只要我們能找到一組解,就可以用這組解去找到其他所有的解。
如何找出一組解?我們以下面的例子說明。
設有一方程式 127x−52y+1=0。先檢查 gcd(127,52)=1,而 1 能整除 1,所以此方程式有整數解。我們的方法將假分數 12752 化成連分數形式。
1.1 有限簡單連分數(finite simple continued fraction)
分數 a1+1a2+1a3+...+1an 稱為「有限簡單連分數(finite simple continued fraction)」,可用符號 [a1,a2,...,an] 表示有限連分數。
例如 [0,3,2,4,3]=13+12+14+13,[−2,3,2,1,5]=−2+13+12+11+15。
例:試將 3711 表示為有限簡單連分數(Hint:輾轉相除法)
解:{37=11×3+411=4×2+34=3×1+13=1×3+0, 故 3711=[3,2,1,3]=3+12+11+13.
任何一個有理數都能表示成有限簡單連分數,反之亦然,這是因為輾轉相除法必會在有限步驟結束。
回到一開始提到的方程 127x−52y+1=0,運用輾轉相除法原理,我們得到 12752=2+12+13+11+15=[2,2,3,1,5]。去掉此連分數最後一個分數 15,並用原來的分數 12752 減去它:
12752−[2,2,3,1]=12752−(2+12+13+11)=12752−229=−152⋅9.
將 12752−229=−152⋅9 通分,得到 127×9−52×22+1=0。對照 127x−52y+1=0,我們得到了一組解 (x0,y0)=(9,22),也就是倒數第二個漸近分數的分母分子,因此全部的解就是 {x=9+52ty=22+127t,其中 t 是整數。
1.2 為什麼可以透過這個方法求解?
關鍵在於「輾轉相除法」和連分數的性質。我們將 12752 化成連分數的過程表示如下。
{(a=b×q+r)127=52×2+2352=23×2+623=6×3+56=5×1+15=1×5+0.
對照 a=b×q+r,r<b 的格式,其中 q 是商數,r 是餘數。連分數 [2,2,3,1,5] 其實就是依序將商數排列而得。
對於一般連分數形式 ab=q1+1q2+1q3+⋱1qn−1+1qn=[q1,q2,⋯,qn],若我們只取到連分數的某一環節,例如第 k 個環節 δk=PkQk,其餘部分捨棄,這個分數稱為「漸近分數(convergent)」或「近似分數」。根據這個定義,當 k=n 時,δn=PnQn 其實就是 ab 本身。
我們將在下面證明,當 k=n 時,有 δn−δn−1=(−1)nQnQn−1,即 ab−Pk−1Qk−1=(−1)nQnQn−1。在等號兩邊同乘上 QnQn−1,又 Qn=b,於是得到 aQn−1−bPn−1+(−1)n−1=0。最後用 (−1)n−1c 乘之,得到
a[(−1)n−1c⋅Qn−1]+b[(−1)n−1c⋅Pn−1]+c=0.
這就是求 ax+by+c=0 方程的一組解的公式,也是我們為何是取倒數第二個漸近分數(Pk−1Qk−1)的原因。
1.3 連分數的第k個漸近分數(the kth convergent of continued fraction)
[q1,q2,...,qk]=PnQn(1≤k≤n) 稱為有限簡單連分數 [q1,q2,...,qn] 的第 k 個漸近分數(the kth convergent of [q1,q2,...,qn])。
有限連分數的一些性質,可參考林聰源的網頁。
http://episte.math.ntu.edu.tw/articles/mm/mm_02_3_08/page3.html
證明了 Pk=qkPk−1+pk−2 和 Qk=qkQk−1+Qk−2 這兩條式子後,接著再證明相鄰兩個漸近分數的差 δk−δk−1=−1kQkQk−1 ,最後得到 aQn−1−bPn−1+(−1)n−1=0。
關於 Pk=qkPk−1+pk−2 及 Qk=qkQk−1+Qk−2 這兩條式子,他們的用途是求漸進分數的分子及分母,顯然這兩條式子是遞迴式,稱為「Wallis-Euler recurrence relations」。我們用下面的表格示意。
以 12752=2+12+13+11+15=[2,2,3,1,5] 為例。
表一
表一清楚地列出如何透過 Pk=qkPk−1+pk−2 及 Qk=qkQk−1+Qk−2,得到漸近分數。對於 δ1,分子 P1 就是 q1P0+P−1=2×1+0=2,分母 Q1=q1Q0+Q−1=2×0+1=1。透過這個模式,我們可以得到完整的內容,見表二。
表二
表二清楚地列出每一個漸近分數的成分。其中最後一項 δ5=P5Q5=12752。
觀察漸近分數與原本的分數 ab,我們可以發現下面的大小關係。
δ1=[q1]=q1=P1Q1<ab.
δ2=[q1,q2]=q1+1q2=P2Q2>ab.
δ3=[q1,q2,q3]=q1+1q2+1q3=P3Q3<ab.
δ4=[q1,q2,q3,q4]=q1+1q2+1q3+1q4=P4Q4>ab.
我們在數線上標示這些漸近分數的位置,如圖一。
圖一
從圖一可以看出,漸近分數會是以左右來回逼近 ab 的模式運作,最終收斂到中心點 ab。奇數項在左側,偶數項在右側,其中奇數項會不斷地朝右方逼近(嚴格遞增);偶數項則是不斷地朝左逼近(嚴格遞減)。以數學式表示如下。
δ1<δ3<⋯<δ2k−1<ab<δ2k<⋯<δ4<δ2.
備註:有些書對於漸近分數的表示的足碼(index)是從 0 開始,如此一來,其漸近分數偶數項會在左側,奇數項會在右側。
證明1:兩個漸近分數的差 δk−δk−1=(−1)kQkQk−1,k≥2。
<pf> 根據定義,δk=PkQk,δk−1=Pk−1Qk−1,所以δk−δk−1=PkQk−Pk−1Qk−1=PkQk−1−QkPk−1QkQk−1.
分子 =PkQk−1−QkPk−1=(qkPk−1+Pk−2)Qk−1−(qkQk−1+Qk−2)Pk−1
=(qkPk−1Qk−1)+Pk−2Qk−1−(qkQk−1Pk−1)−Qk−2Pk−1
=−(Pk−1Qk−2−Qk−1Pk−2).
觀察 PkQk−1−QkPk−1 和 −(Pk−1Qk−2−Qk−1Pk−2),我們發現後者可以從原式中的 k 用 k−1 代替而得到。依此類推,我們會得到一連串的等式:
Pk−1Qk−1=−(1)(Pk−1Qk−2−Qk−1Pk−2)
=(−1)2(Pk−2Qk−3−Qk−2Pk−3)
⋮
=(−1)k−2(P2Q1−Q2P1)
由於 δ1=[q1]=q1=P1Q1,δ2=[q1,q2]=q1+1q2=P2Q2,我們知道 P1、P2、Q1 及 Q2 的值。
{P1=q1Q1=1P2=q1q2+1Q2=q2
因此分子 Pk−1Qk−1=(−1)k−2(P2Q1−Q2P1)=(−1)k−2[(q1q2+1)⋅1−q2(q1)]=(−1)k−2=(−1)k,於是
δk−δk−1=PkQk−Pk−1Qk−1=PkQk−1−QkPk−1QkQk−1=(−1)kQkQk−1。◼
(δk−δk−1)⋅QkQk−1=(PkQk−Pk−1Qk−1)⋅QkQk−1=PkQk−1−QkPk−1=(−1)k.
上式透露出 Pk 與 Qk 是互質的(根據Bezout定理),我們觀察表二也可發現到漸近分數一定是最簡分數。
證明1的結論也說明了兩個相鄰漸近的差會隨著漸近分數取得越準確(i 越大,Qi也越大)而越小,再次觀察表二,結論確實如此。經過不斷地「左右震盪」,最終會到達 ab。
證明2:兩個漸近分數的差 δk−δk−2=(−1)k−1QkQk−2,k≥3。
證明1中我們證明了兩個相鄰漸近分數的差會逐漸縮小。證明2是說明同側(參照圖一,在ab的左側或右側)的漸近分數隨著足碼(k)取得越大,左側(足碼為奇數)的漸近分數會越大,右側(足碼為偶數)的漸近分數會越小(Monotonicity properties of convergents.)。
<pf> δk−δk−2=PkQk−Pk−2Qk−2
=PkQk−2−Pk−2QkQkQk−2
=(qkPk−1+Pk−2)Qk−2−Pk−2(qkQk−1+Qk−2)QkQk−2
=(qkPk−1Qk−2+Pk−2Qk−2)−(qkPk−2Qk−1+Pk−2Qk−2)QkQk−2
=qk(−1)k−1QkQk−2 (since PkQk−1−QkPk−1=(−1)k by 證明1) ◼
當足碼(k)是奇數時,qk(−1)k−1QkQk−2為正數;當足碼為偶數時,qk(−1)k−1QkQk−2為負數。可參照圖一。
圖一
1.4 回顧 127x−52y+1=0
我們已經證明、也給出了關於一次不定方程的求解公式。現在再回頭看 12752 化為連分數的過程。
{(a=b×q+r)127=52×2+2352=23×2+623=6×3+56=5×1+15=1×5+0.
透過不斷地代換(用下面的式子代換上一條式子),我們得到:−1=5×1−6=(23−6×3)−6
=6×(−4)+23=(52−23×2)×(−4)+23
=23×9+(−52)×4
=(127−52×2)×9+(−52)×4
=127×9−52×22
最後得到一組解 (x0,y0)=(9,22)。但是這種不斷替換的方法實在太累人了,不如套用上面的求解公式便捷。
2.1 無限簡單連分數(infinite simple continued fraction)
並非任何實數都能表示成有限簡單連分數, 例如 √2, π。
化成無限連分數的步驟:(1)Split (2)Flip (3)RAT(有理化)。可參考下面的影片(MathForKid65)。
所有的無理數都能用無限簡單連分數表示,且表示方式是唯一的(證明略)。
1770年,拉格朗日證明一個數字能表示成循環連分數,若且唯若此數為二次無理數(二次無理數是某些有理數係數的一元二次方程式的根),例如下面影片的範例 √3,√3 是方程式 x2−3=0 的根,所以 √3 可表示成循環連分數。
無限簡單連分數有許多與有限簡單連分數類似的性質。例如我們在1.3 連分數的第k個漸近分數(the kth convergent of continued fraction)中提到的遞迴關係式,也可套用至此,因為我們在推導過程並無使用到「有限步驟」的條件。
沒有留言:
張貼留言