方程ax+by=1有兩個未知數,只有一個方程,因此它的解必有無數個。我們首先要限定在整數範圍,否則不用玩了。其次,這個方程在整數範圍內還不一定有解,例如2x+4y=1顯然沒有解,3x+6y=1也顯然沒有解,6x+9y=1也是沒有解的。因此,還需要限定一個條件,使得這個不定方程必有解,這個條件是:a,b互質。
題目:已知a,b,x,y都是整數,且a,b互質,解方程ax+by=1
1、2x+3y=1
解法1:因為2x=-3y+1,所以3×(-y)除以2的餘數為1
記作3(-y)≡1 (mod 2)(參見《第五種運算》)
所以-y的最小值就是1,即y=-1
代入原方程,可得x=2
所以,第一組解(x=2,y=-1)
顯然,其他形如x=3k+2,y=-2k-1的解都滿足方程(呃,每一次我說顯然的時候都是惴惴不安,我看起來很顯然的結論,您看起來顯然不?)
不定方程的解有……(-1,1),(2,-1),(5,-3)……
解法2:因為3÷2=1……1所以3=2×1+1
即3×1-2×1=1,一組解為(-1,1)
其他解由x=3k-1,y=-2k+1推出
我們分析一下兩種解法,解法1雖然很簡潔漂亮,但是求y的時候必須觀察得出,對於數字比較小,是很容易實現的,對於數字比較大,這個觀察並不容易。解法2實際上是把帶餘除法換個形式,比較容易實現。我們重點介紹這個解法,因為這個解法還有一些未解之謎。
從題1我們還可以發現一個特點,此類一次不定方程只要求出一個解,其他解可以代公式計算出來。
2、5x+18y=1
數字大了點,方法照舊。
因為18÷5=3……3所以3=18-5×3
因為5÷3=1……2所以2=5-3×1
因為3÷2=1……1所以1=3-2×1
所以,1=3-2×1=3-(5-3×1)=-5+3×2
=-5+(18-5×3)×2=5×(-7)+18×2
其中一組解為x=-7,y=2
這個方法,其實高中生都見過,就是求兩個數最大公約數的輾轉相除法,不過是將除法算式寫成另一種形式而已。我們稱之為擴充套件輾轉相除法。(標準說法叫擴充套件歐幾里得法)
為了便於編寫程式,我們發現
5x+18y=1即5x+(5×3+3)y=1即5(x+3y)+3y=1
原方程相當於求解5X+3Y=1(X=x+3y,Y=y)
因為5=3×1+2所以2X+3(X+Y)=1
原方程相當於求解2X’+3Y’=1(X’=X,Y’=X+Y)
而這個方程我們是會猜的,X’=-1,Y’=1逐漸代回即可
方程ax+by=1有兩個未知數,只有一個方程,因此它的解必有無數個。我們首先要限定在整數範圍,否則不用玩了。其次,這個方程在整數範圍內還不一定有解,例如2x+4y=1顯然沒有解,3x+6y=1也顯然沒有解,6x+9y=1也是沒有解的。因此,還需要限定一個條件,使得這個不定方程必有解,這個條件是:a,b互質。
題目:已知a,b,x,y都是整數,且a,b互質,解方程ax+by=1
1、2x+3y=1
解法1:因為2x=-3y+1,所以3×(-y)除以2的餘數為1
記作3(-y)≡1 (mod 2)(參見《第五種運算》)
所以-y的最小值就是1,即y=-1
代入原方程,可得x=2
所以,第一組解(x=2,y=-1)
顯然,其他形如x=3k+2,y=-2k-1的解都滿足方程(呃,每一次我說顯然的時候都是惴惴不安,我看起來很顯然的結論,您看起來顯然不?)
不定方程的解有……(-1,1),(2,-1),(5,-3)……
解法2:因為3÷2=1……1所以3=2×1+1
即3×1-2×1=1,一組解為(-1,1)
其他解由x=3k-1,y=-2k+1推出
我們分析一下兩種解法,解法1雖然很簡潔漂亮,但是求y的時候必須觀察得出,對於數字比較小,是很容易實現的,對於數字比較大,這個觀察並不容易。解法2實際上是把帶餘除法換個形式,比較容易實現。我們重點介紹這個解法,因為這個解法還有一些未解之謎。
從題1我們還可以發現一個特點,此類一次不定方程只要求出一個解,其他解可以代公式計算出來。
2、5x+18y=1
數字大了點,方法照舊。
因為18÷5=3……3所以3=18-5×3
因為5÷3=1……2所以2=5-3×1
因為3÷2=1……1所以1=3-2×1
所以,1=3-2×1=3-(5-3×1)=-5+3×2
=-5+(18-5×3)×2=5×(-7)+18×2
其中一組解為x=-7,y=2
這個方法,其實高中生都見過,就是求兩個數最大公約數的輾轉相除法,不過是將除法算式寫成另一種形式而已。我們稱之為擴充套件輾轉相除法。(標準說法叫擴充套件歐幾里得法)
為了便於編寫程式,我們發現
5x+18y=1即5x+(5×3+3)y=1即5(x+3y)+3y=1
原方程相當於求解5X+3Y=1(X=x+3y,Y=y)
因為5=3×1+2所以2X+3(X+Y)=1
原方程相當於求解2X’+3Y’=1(X’=X,Y’=X+Y)
而這個方程我們是會猜的,X’=-1,Y’=1逐漸代回即可