关于扩展欧几里得

当 \(b = 0\) 时

\(a\) 和 \(b\) 最大公因数为 \(a\)

\(a \times 1 + b \times 0 = gcd(a, b)\)

若 \(b \ne 0\)

假设已经通过扩展欧几里得获得

\(b \times y + a \% b \times x = gcd(a, b)\)

设 \(a = qb + r\)

\(b \times y + r \times x = gcd(a, b)\)

即 \(rx = gcd(a, b) - by\)

要维护 \(a \times x + b \times y' = gcd(a, b)\) 这一循环不变量

要求 \(qbx + rx + by' = gcd(a, b)\)

\(qbx + gcd(a, b) - by + by' = gcd(a, b)\)

\(qbx - by + by' = 0\)

\(by' = by - qbx\)

\(y' = y - qx\)

\(y' = y - (a / b)x\) (这里是整数除法)