合并同余方程组

1 引入

同余方程组,是形如

\[x\equiv x_1\pmod {p_1} \]

\[x\equiv x_2\pmod {p_2} \]

\[... \]

\[x\equiv x_n\pmod {p_n} \]

的方程组。

\(p_1,p_2,...,p_n\) 互质的时候,我们可以使用中国剩余定理。但如果他们不互质呢?

2 扩展欧几里得算法

这里先介绍一下扩展欧几里得算法作为铺垫

对于不完全为 \(0\) 的非负整数 \(a,b\)\((a,b)\) 表示 \(a,b\) 的最大公约数。则必然存在整数对 \(x,y\) ,使得

\[(a,b)=ax+by \]

具体证明略。

3 合并同余方程组

比如我们先合并前两个方程。

\[x\equiv x_1\pmod {p_1} \]

\[x\equiv x_2\pmod {p_2} \]

根据余数的定义,我们可以将方程改写为

\[x=p_1u+x_1\ (u\in \mathbb Z)\quad(1) \]

\[x=p_2v+x_2\ (v\in \mathbb Z)\quad(2) \]

\(p_1u-p_2v=x_2-x_1\quad(3)\)

根据扩展欧几里得算法,令 \(p_0=(p_1,p_2)\)

\(x_2-x_1\not\equiv 0\pmod{p_0}\) ,方程无解。

\(x_2-x_1\equiv 0\pmod{p_0}\) ,则可化为

\[\frac{p_1}{p_0}u-\frac{p_2}{p_0}v=\frac{x_2-x_1}{p_0}\quad(4) \]

现将方程 \((4)\) 改为 \(\frac{p_1}{p_0}u-\frac{p_2}{p_0}v=1\)

根据扩展欧几里得算法可得特解 \(u_0,v_0\)

然后将解乘上 \(\frac{x_2-x_1}{p_0}\)

则可得 \(u_1=u_0\times\frac{x_2-x_1}{p_0}\)\(v_1=v_0\times\frac{x_2-x_1}{p_0}\)

则方程 \((3)\) 的通解为

\[u=u_1-\frac{p_2}{p_0}t,v=v_1+\frac{p_1}{p_0}t\ (t\in \mathbb Z) \]

任选一个代入方程 \((1)\)\((2)\) 中,比如我代入 \((1)\) ,则

\[x=p_1(u_1-\frac{p_2}{p_0}t)+x_1=-\frac{p_1p_2}{p_0}t+p_1u_1+x_1 \]

因为 \((a,b)\times[a,b]=ab\) ,所以 \([p_1,p_2]=\frac{p_1p_2}{p_0}\)

则前两个同余方程可以化为

\[x\equiv x'\pmod {[p_1,p_2]} \]

的形式。以此类推即可。

posted on 2018-02-27 10:50  sleepiest  阅读(416)  评论(0)    收藏  举报

导航