不定方程的求解

来源:互联网 发布:德尔塔高达淘宝 编辑:程序博客网 时间:2024/04/29 13:23

步骤如下:

  求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 的全部整数解。

0 0