扩展中国剩余定理:
$$
\left\{\begin{array}{l}
a \equiv r_{1}\left(\bmod m_{1}\right) \\
a \equiv r_{2}\left(\bmod m_{2}\right)
\end{array}\right.
$$
我们想将上面的式子合并为一个。
上面的式子等价于:
$$
a=k_{1} m_{1}+r_{1}=k_{2} m_{2}+r_{2}
$$
移项,则有:
$$
k_{1} m_{1}-k_{2} m_{2}=r_{2}-r_{1}
$$
我们求出 $k_1$ 就能求出 $a$,$k_1 $可以扩欧求最小整数解。
求出 $k_1$ 之后,两个式子变合并为: $$ a \equiv k_1m_1+r_1\left(\bmod \operatorname{lcm}(m_1, m_2) \right) $$ 代码:
|
|