1. 程式人生 > >不定方程的求解

不定方程的求解

步驟如下:

  求a * x + b * y = n的整數解。

  1、先計算Gcd(a,b),若n不能被Gcd(a,b)整除,則方程無整數解;否則,在方程兩邊同時除以Gcd(a,b),得到新的不定方程a’ * x + b’ * y = n’,此時Gcd(a’,b’)=1;(n’=n/gcd(a,b))

   2、利用歐幾里德演算法求出方程a’ * x + b’ * y = 1 的一組整數解x0, y0,則n’ * x0, n’* y0 是方程a’ * x + b’* y = n’的一組整數解 ;
  3、根據數論中的相關定理,可得方程a’ * x + b’ * y = n’的所有整數解為:

       x = n’ * x0 + b’ * t ;

        y = n’ * y0 - a’ * t (t為整數)

    上面的解也就是a * x + b * y = n 的全部整數解。