问一道算法题,小弟我觉得似乎无解。

问一道算法题,我觉得似乎无解。。。
求方程的解

a1﹡x1+a2﹡x2+a3﹡x3+a4﹡x4+a5﹡x5+......   +a18﹡x18=-1
系数   a1,   a2,   a3…..   a18=整数     范围=[-99999,+99999]
求自变量x1,   x2,   x3,……,x18     的所有可能整数取值
还要避免溢出问题!

我觉得似乎没有好的办法,只能循环。即便如此,也不知道能通过什么方式减少些循环次数?

------解决方案--------------------
应该是用扩展的欧几里德算法吧,
具体我也不懂,学习中.....
------解决方案--------------------
辗转相减求最大公约数
如果a1,a2最大公约数是1,则存在a1*x1+a2*x2=1(当然也可以是-1)
由于a1*a2+a2*(-a1)=0,所以x1+k*a2,x2-k*a1就是无穷解
至于这个是不是全解,就不清楚了,还没研究过

如果最大公约数大于1,原式每项都是最大公约数的倍数,所以就无解

所以lz如果没有x范围的话,就是无解或者无穷解
------解决方案--------------------
同意fosjos

如果是2维,则是一个整数互质问题。
然后楼主的原题相当于扩展到n维(n=18)。