--- 这里是 cjiaw 的小窝(●'◡'●) ---

正在玩命加载中......

扩展欧几里得通解与最小正整数解

首先,我们有式子:

ax+by = gcd(a,b),

为了方便,我们把gcd(a,b)缩写成 d ,即:

ax+by = d,①

假设我们已经求出一组解x₀和y₀ ,那么有 :

ax₀ + by₀ = d,②

联立①和②,把 d 消掉,就有:

a(x-x₀) = -b(y-y₀),

设a'=$\frac{a}{d}$ ,b'=$\frac{b}{d}$,于是:

a'(x-x₀) = -b'(y-y₀),

观察式子,我们可以发现: gcd(a',b') = 1,那么 (x-x0) 必然是 b'的倍数,

即,b' | (x-x0),设 ,代入得:

a'b'k=-b'(y-y₀),

消掉b',同时把a'展开,即a'=$\frac{a}{d}$,变成:

$\frac{a}{d}$k = -(y-y₀),

最后移项化简,得到关于y的通解:

y=y₀-$\frac{a}{d}$k,k$\in \mathbb{Z}$

同理我们也可以得到x的通解:

x=x₀+$\frac{b}{d}$k,k$\in \mathbb{Z}$

最终,我们把x和y的通解写成:

x = x₀ + $\frac{b}{d}$k

y = y₀ - $\frac{a}{d}$k

此外,求最小x的最小正整数解 也就是求 x = x₀+$\frac{b}{d}$k >= 1,④

移项可得 : k >=  $\frac{(1-x₀)*d}{b}$,

当 k = $\left \lceil\frac{(1-x₀)*d}{b}\right \rceil$时,带入④式,x取得最小正整数解

同时,x的最小非负解也有 x = x₀ % $\frac{b}{d}$,

为了消除负数取模结果带来的影响一般写成:

x = (x₀ % $\frac{b}{d}$ + $\frac{b}{d}$) % $\frac{b}{d}$

 

posted @ 2026-04-02 11:07  wwjjw  阅读(39)  评论(0)    收藏  举报