この問題は、以下のように言い換えることができます。

  • S×KxG(modN)S \times K^x \equiv G \pmod N となるような最小の非負整数 xx を求めてください。

これは、典型的な離散対数問題であり、Baby Step Giant Step と呼ばれるアルゴリズムで 11 ケースあたり O(NlogN)O(\sqrt{N} \log N) で解くことができます。

S=GS = G の場合は明らかに答えが 00 であり、K,NK, N が互いに素でない場合は答えが 0,10, 1 または 到達不可能であるということに注意してください。