#P1272. 求逆元(同余方程 ax≡1 mod b 的最小正整解)

求逆元(同余方程 ax≡1 mod b 的最小正整解)

题目描述

给定两个正整数 aa 和 bb,求满足同余方程

a⋅x≡1(modb)a \cdot x \equiv 1 \pmod b

的最小正整数解 x0x_0。输入数据保证方程一定有解(即 gcd⁡(a,b)=1\gcd(a,b)=1)。

输入格式

一行,两个正整数 a, ba,\ b,用一个空格隔开。

输出格式

一行,一个正整数 x0x_0,即最小正整数解。

样例

3 10
7

说明/提示

xx 称为 aa 对模 bb 的乘法逆元。可用扩展欧几里得算法求出一组满足 a⋅x+b⋅y=1a\cdot x + b\cdot y = 1 的 (x,y)(x, y),再把 xx 调整到 [1,b−1][1, b-1] 区间内即可。也可使用费马小定理 x=ab−2 mod bx = a^{b-2} \bmod b(当 bb 为质数时)。