次の命題(☆)が成り立ちます。


: 任意の整数aa, 正整数mm, ϕ(m)b\phi(m)\leq bなる整数bbについて、aba(bmodϕ(m))+ϕ(m)(modm)a^b\equiv a^{(b\bmod \phi(m)) + \phi(m)}\pmod mが成り立つ。


ϕ(m)\phi(m)O(m)O(\sqrt m)、累乗はO(logM)O(\log M)などで計算することができ、本問はO(M)O(\sqrt M)で解くことができました。

証明

まず、以下の補題を示します。
補題: ϕ(m)c\phi(m)\leq cなる整数ccについて、acac+ϕ(m)(modm)a^c\equiv a^{c+\phi(m)}\pmod mが成り立つ。

1.補題

mmの素因数について、m1m_1aaと互いに素な成分の総積、m2m_2aaと共通する素因数のみからなる成分の総積とする。

  • m1m_1について、オイラーの定理からaϕ(m1)1(modm1)a^{\phi(m_1)}\equiv 1\pmod{m_1}。また、ϕ(m1)ϕ(m)\phi(m_1)\mid\phi(m)より、aϕ(m)1(modm1)a^{\phi(m)}\equiv 1\pmod{m_1}であるから、acac+ϕ(m)(modm1)a^c\equiv a^{c+\phi(m)}\pmod{m_1}
  • m2m_2について、m2m_2の任意の素因数ppに対してその指数をkkとすると、ϕ(m)ϕ(pk)=pk(11p)2k1k\phi(m)\geq\phi(p^k)=p^k(1-\frac{1}{p})\geq2^{k-1}\geq kが成り立つため、acac+ϕ(m)0(modm2)a^c\equiv a^{c+\phi(m)}\equiv 0\pmod{m_2}

m1m2,m1m2=mm_1\perp m_2, m_1\cdot m_2 = mなるm1m_1m2m_2それぞれについてac+ϕ(m)ac0a^{c+\phi(m)}-a^c\equiv 0であることが示されました。よって、crtからacac+ϕ(m)(modm)a^c\equiv a^{c+\phi(m)}\pmod mです。

2.☆

bmodϕ(m)=r,bϕ(m)=qb\bmod \phi(m) = r, \lfloor \frac{b}{\phi(m)}\rfloor = qとすると、補題から ab=ar+qϕ(m)ar+(q1)ϕ(m)ar+ϕ(m)(modm)a^b=a^{r+q\phi(m)}\equiv a^{r+(q-1)\phi(m)}\equiv\dots\equiv a^{r+\phi(m)}\pmod m
ここで、r=bmodϕ(m)r=b\bmod\phi(m)なので、aba(bmodϕ(m))+ϕ(m)(modm)a^b\equiv a^{(b\bmod \phi(m)) + \phi(m)}\pmod mが示されました。