Xで割ったあまり
「1000000007 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita
離散対数
Baby-Step Giant-Step 法
平方剰余
平方剰余かどうかは「
平方剰余の相互法則
」によって求められる
平方剰余ならば具体的な x は、
Tonelli-Shanks のアルゴリズム
などによって求められる