方法是有的,但可能比代入法更加复杂。可以用辗转相除法。 首先,对于方程ax+by=c,如果gcd(a,b)不是c的因子,则无解,否则令d=gcd(a,b),结社(x1,y1)系方程的一个特殊解,那么所有x=x1+(b/d)t, y=y1-(a/d)t也是不定方程的解。 下面给出一个用辗转相除法(euclidean algorithm)求d,并且倒推求x1,y1的例子,因为理论过程太罗嗦,所以直接用例子说明啦:15x+49y=8 49=3*15+4,(其中,49是b,15是1,3,4分别是商和余数) 15=3×4+3(15是上面一式除数,4是余数,两个3是求出来的,下面都是相通的叠代) 4=1×3+1 3=3×1+0 所以,把上面过程逆推,可以得到 1=4-1×3 =4-(15-3×4) =4×4-15 =4×(49-3×15)-15 =15×(-13)+49×(4) 这样,我们就得到15(-13)+49(4)=1(注:15系a,49系b,1系d) 同时乘以8 得到15(-104)+49(32)=8 这个时候,就可以得到所有的解: x=-104+49t,和y=32-15t,在根据题目的限制,比如说x,y都必须是正数等,就可以求出唯一解。 |