前置知识
裴蜀定理:存在整数x,y使得gcd(a,b)=ax+by
拓展欧几里得一波完事。
欧拉定理
∀a,s.t.gcd(a,p)=1,aϕ(p)≡1(modp)
随便口胡的,类比费马小定理。
考虑把那ϕ(p)个元素拎出来形成一个集合。
现在把集合里的元素每个都乘上a对p取模然后扔到另一个集合中。
随便根据裴蜀定理随便口胡一下发现新的集合和原来的集合使一样的,所以膜意义下的乘积也没有变。
但是实际上新的集合比原集合多乘了ϕ(p)个a,所以aϕ(p)≡1(modp)
扩展欧拉定理
考虑不互质的一对数a,m(当然就算互质也成立)。下面等式中百分号为取模。
{ab≡ab≡abab%ϕ(m)+ϕ(m)(modm),∀b<ϕ(m)(modm),∀b≥ϕ(m)
b<ϕ(m)时显然,现在考虑b≥ϕ(m)时的情况。
考虑将m质因数分解,则m=∏ipiqi
那么只需要保证∀i,ab≡ab%ϕ(m)+ϕ(m)(modpiqi)
因为假设x≡y(modm1),x≡y(modm2),那么x−y一定是m1m2的倍数。
现在考虑某一个piqi。
- 假如a与piqi互质,那么根据欧拉定理显然。
- 若不互质,那么由pi是质数得a是pi的倍数,即a=kipi。
考虑第2种情况。
用脚都能想到ab≡0(modp)
首先,因为ϕ是积性函数,所以ϕ(m)≥ϕ(piqi)。
又可以归纳说明∀q∈Z+,ϕ(pq)>=q
所以ϕ(m)≥qi,得aϕ(m)=kiϕ(m)piϕ(m)≡0(modpiqi)
而b≥ϕ(m)时等式两侧a的指数都显然≥ϕ(m),所以两边都为0,也成立。
以上。
例题:在做了(进度:0%)