この記事では, を素数とし, の下での割り算について述べます.
整数 に対する の下での割り算 では,
分数 が既約分数になっていなくても計算結果は変わりません.
そのことを述べていきます.
復習
wakabame.hatenablog.com
でも触れましたが, まずは逆元とは何かを述べます.
の倍数ではない に対して, の法 の下での逆元 を求めましょう.
まず,
が の法 の下での逆元であるとは,
ある が存在して,
\begin{equation}
ax+Py_a =1
\end{equation}
を満たすこと
と定式化できたのでした.
そのような は が の倍数でない限り一意に存在し, 以後これを と表します.
このような がなぜとれるかについては,
拡張ユークリッドの互除法について述べられている @drken さんの記事
qiita.com
を参考にしてみてください.
示すべきこと
は既約でなくても計算結果が変わらないことを示すために,
未満の自然数 に対して, を計算して, その差を観察しましょう.
まずは, 拡張ユークリッドの互除法から , はある整数 を用いて,
\begin{equation}
b^{-1} = \dfrac{1-Py_b}{b},\quad (kb)^{-1} = \dfrac{1-Py_{kb}}{kb}
\end{equation}
と表せたことに注意します.
これにより,
\begin{align*}
ab^{-1} - ka(kb)^{-1}
&= a\dfrac{1-Py_b}{b} -ka \dfrac{1-Py_{kb}}{kb}\\
&= \dfrac{a(y_{kb}-y_{b})}{b}P
\end{align*}
を得ます.
ここで, 左辺は整数だから右辺も整数であり, は の倍数ではないので
は整数です.
したがって両辺は の倍数であることから,
\begin{equation}
ab^{-1} \textrm{mod } P = ka(kb)^{-1} \textrm{mod } P
\end{equation}
が従います.
別の説明
積 についての逆元は,
\begin{equation}
(kb)^{-1} \equiv b^{-1}k^{-1} \pmod P
\end{equation}
を満たします.
これにより,
\begin{equation}
ka(kb)^{-1} \equiv kab^{-1}k^{-1} \equiv ab kk^{-1} \equiv ab\pmod P
\end{equation}
を示すこともできます(指摘されるまで気が付きませんでいた。。).