T162491 [Round 1]整除(同余方程&exgcd)

T162491 [Round 1]整除(同余方程&exgcd)

s o l v e : solve: solve:

{ x = 10 m + n    ( 1 ) y = a m + b n    ( 2 ) \begin{cases}x=10m+n\ \ (1)\\y=am+bn\ \ (2)\end{cases} { x=10m+n  (1)y=am+bn  (2),考虑得到 x , y x,y x,y的关系。

( 1 ) (1) (1)式同乘 b b b,消掉 b n bn bn

→ y = b x + m ( a − 10 b ) \rightarrow y=bx+m(a-10b) y=bx+m(a10b)

又因为 p ∣ y → p ∣ x p|y\rightarrow p|x pypx

可推出 a ≡ 10 b ( m o d p ) a\equiv 10b \pmod{p} a10b(modp)
题目要求出最小的 a > 0 a>0 a>0

考虑转化该式子: 10 b + p x = a 10b+px=a 10b+px=a关于 b , x b,x b,x的方程。

由裴蜀定理可知, g c d ( 10 , p ) ∣ a gcd(10,p)|a gcd(10,p)a,则 a a a的最小值是 g c d ( 10 , p ) gcd(10,p) gcd(10,p)

求出 a a a,后等式两边同除 a a a,推出 t m p × b + p ′ × x = 1 tmp\times b+p'\times x=1 tmp×b+p×x=1

利用扩展欧几里得可得出 b , x b,x b,x的值。

你可能感兴趣的:(数论)