不定方程,凡異出版社,1996年1月初版,ISBN:9576942225
二元一次不定方程
二元一次不定方程式 ax+by=c, 其中 a,b,c 都是已知整數, 且 a,b 不全為 0.
ax+by=c 有整數解 ⇔(a,b)∣c實際求解的方法,有「誤試法(Trial and Error)」、「歐基里德算法(輾轉相除法)」,有時候解題方法不只一種。
誤試法(Trial and Error):當 |a|,|b| 不大時可以試試看, e.g. 7x+15y=1989.
歐基里德算法:e.g. 5767x+4453y=−1679.
設 (a,b)=1, x=x0, y=y0 是方程式 ax+by=c 的一組解(特解), 則全部的整數解(通解)為 {x=x0+bty=y0−at, t 是任何整數.<pf> 設 (x′,y′) 是方程式的一組解, 則 ax′+by′=c. 再由 ax0+by0=c, 兩式相減得到 a(x0−x′)+b(y0−y′)=0, 由此知 a∣b(y0−y′). 但 (a,b)=1, 所以 a∣(y0−y′). 可寫成 y0−y′=at, 其中 t 為整數, 即 y′=y0−at. 把 y′=y0−at 代回 a(x0−x′)+b(y0−y′)=0, 得到 x′=x0+bt.
例10 設 a,b,n 都是正整數, (a,b)=1. 當 n>ab−a−b 時, 方程 ax+by=n 有非負整數解; 當 n=ab−a−b 時, 則無非負整數解. 換句話說, 凡大於 ab−a−b 的整數必可表示為 ax+by (x≥0,y≥0) 的形式, 但 ab−a−b 不能表示為此種形式.
<pf1> 因為 (a,b)=1, 所以必有整數 x,y 使得 ax+by=n 成立. 我們總可以選擇 0≤x<b(思考一下,why?).
當 n>ab−a−b 時, by=n−ax>(ab−a−b)−ax≥ab−a−b−a(b−1)=−b. 因此 y>−1, 證明了 y 也是非負整數.
當 n=ab−a−b 時, 則 ax+by=n=ab−a−b, x=ab−a−b−bya=b−1−ba(y+1). 若要使 x≥0, 因為(a,b)=1, 所以 (y+1) 須為 a 的倍數, 且 ba(y+1)<b, 得到 (y+1)<a.
且假設 y 也為非負整數, 所以 (y+1)>0. 整理得到 0<(y+1)<a, 亦即 a⋅0<(y+1)<a⋅1, 顯然 (y+1) 不是 a 的倍數, 與假設矛盾. 故 x,y 無非負整數解.
<pf2>
首先證明方程 ax+by=n 當 n>ab−a−b 時有非負整數解.
方程式的一般解為 {x=x0+bty=y0−at, t∈Z. 取 適當的 t 使得 0≤y=y0−at≤a−1. 對於此 t, 有 ax=a(x0+bt)=n−b(y0−at)>ab−a−b−b(a−1)=−a. 而 a>0, 故 x=x0+bt>−1, 亦即 x≥0.
其次證明 n=ab−a−b 時, ax+by=n 無非負整數解.
假設方程有解, x≥0,y≥0. 由 ax+by=n=ab−a−b 得 a(x+1)+b(y+1)=ab. 因為 (a,b)=1, 所以 a∣(y+1),b∣(x+1). 於是有 y+1≥a,x+1≥b. 所以 ab=a(x+1)+b(y+1)≥ab+ab=2ab, 但 a>0,b>0, 所以上式矛盾.
例4 若 a>0, b>0, 且 (a,b)=1, 試證:
1. 方程 ax+by=n 的非負整數解之個數為 [nab] 或 [nab]+1.
2. 在 0≤n≤ab−a−b 中, 恰有 (a+1)(b+1)2 個整數 n 能(或不能)表示成 ax+by 的形式, 這裡的 x,y 都是非負整數.
三元一次不定方程
例13 求不定方程 6x+20y−15z=23 的全部整數解.(hint: 從係數小的著手)
一次不定方程組
消元法
例2 《張丘建算經》的百雞問題. 公雞5元一隻, 母雞3元一隻, 小雞1元一隻. 現在用100元買100隻雞, 問公雞, 母雞, 小雞應各買多少隻?
解 設公雞, 母雞, 小雞的隻數分別為 x,y,z. 由題意, 得 {x+y+z=1005z+3y+z3=100. 相應的 (x,y,z) 有 (0,25,75), (4,18,78), (8,11,81) 和 (12,4,84).