对于模不是两两互质的线性同余方程组怎么解
对于线性同余方程组x=B[i] mod M[i],0<=i<n
如果不保证对任意的i,j有M[i],M[j]互质,甚至不保证方程组有解,这时这个方程组怎么解
//返回x=B[i] mod M[i],0<=i<n的最小非负整数解,如果无解返回-1
int solModularEquations(int B[],int M[],int n);
----------------解决方案--------------------------------------------------------
依然按旧算法,只是用最小公倍数代替直接相乘,最后多加一步验证
以上为我的猜测
[color=white]
----------------解决方案--------------------------------------------------------
这种情形当且仅当对所有的 i, j, 有 (B[i]-B[j]) % gcd(M[i],M[j]) == 0 时方程有解.
----------------解决方案--------------------------------------------------------