6x+15y+20z=1 => 6x+5(3y+4z)=1
设3y+4z=w,那就是6x+5w=1.很容易找到一组解,x=1,w=-1.
假设另一组解为x',w',6x+5w=6*1+5*(-1)=>6(x-1)=5(-1-w),等式两边必然是30的倍数,假设为30k,k=0,+/-1,+/-2....,所以x=5k+1,w=-1-6k。
剩下的就是3y+4z=-1-6k,类似前面的步骤,如果y1,z1和y2,z2都是整数解,那么3y1+4z1=3y2+4z2=>3(y1-y2)=4(z2-z1),这个肯定是个12的倍数,所以有3(y1-y2)=4(z2-z1)=12l,y1=4l+y2,z1=z2-3l。
不难看出3y+4z=-1-6k有一组特解y=1-2k,z=-1,所以通解的公式就为:
1-2k+4l,-1-3l,
所以原方程的通解表达式为x=5k+1,y=1-2k+4l,z=-1-3l,其中k,l独立地取遍所有整数。
一般情况比较难,暂时没想到什么招。 但是对于a,b,c都为有理数的情况,还是容易搞定的。
首先考虑简单一点的情况ax+by=p,a,b,p都为整数,下面证明,这个方程有整数解的充分必要条件是a,b的最大公约数也是p的约数。
首先证明必要性,设a,b最大公约数为k,若方程有整数解,显然ax+by能被k整除,所以p也能必须被k整除。
再证充分性,也就是只要a,b最大公约数也为p的约数,那么ax+by=p就有整数解。假设a,b最大公约数为k,p=nk,a=a_k*k,b=b_k*k,a_k与b_k互质。那么原方程就可以化为a_k*x+b_k*y=n,这个方程一定有整数解。首先,如果n>b_k,那么把n换成m,其中m是n除以b_k的约数(显然m<b_k),这样就是要证明a_k*x+b_k*y=m有整数解(请自行证明这与证明a_k*x+b_k*y=n是等价的)。要证明这个,就等价于要证明存在整数x,使得a_k*x除以b_k余数为m(不用担心a_k和b_k正负号的情况,因为我们可以调整x,y的符号)。令x分别取0,1,2...b_k-1,在这b_k个取值时,a_k*x除以b_k的余数是各不相同的(否则假设a_k*m和a_k*n除以b_k余数相同,那么a_k*(m-n)能被b_k整除,但是a_k和b_k互质,而且(m-n)<b_k,也不可能是b_k的倍数,所以矛盾)。所以这b_k个余数中,必有一个等于m。这就证明了a_k*x+b_k*y=m有整数解,也就是ax+by=p有整数解。
再看三个未知数的情况,ax+by+cz=p(p=1就是楼主问的情况),由前面的结论,不难得出,当且仅当a,b,c的最大公约数也是p的约数,方程有整数解。如果p=1,那就是a,b,c最大公约数为1。比如上面那道题,6,15,20最大公约数为1。
如果a,b,c,p都为有理数,那么很容易把问题化为上述整数的情况进行判断。
如果可以判断出有整数解,那么可以像上面那道题一样,先找到一组特解,然后再扩充成通解。
如果是a,b,c,d只是一般的实数,则似乎没有什么规律可循了。
温馨提示:答案为网友推荐,仅供参考