Processing math: 100%

アルゴリズム論特論(塩田)第6回 (3) 逆数計算アルゴリズム

逆数が存在するための条件

Th.6 法 n1b が存在すること gcd(b,n)=1
証明 ) x=1b とおくと定義より
 y  such that  b×x=1+n×y
gcd(b,n)bn の公約数であるので
1=b×xn×y
の約数でもあり、gcd(b,n)=1.

) は次のアルゴリズムより。(証明終)

逆数計算アルゴリズム

Algorithm 7 (法 n での逆数)
  • 入力:b, n
  • 出力:法 n での b の逆数 1b
  1. 拡張ユークリッドアルゴリズムを引数 b, n で実行し、d=gcd(b,n) と、d=bx+ny を満たす x, y を求める。
  2. d1 ならば「逆数は存在しません」と表示し、終了。
  3. x を出力。
計算のテクニック  Alg.7 では y は出力に関与しませんので、 拡張ユークリッドを呼び出すよりも、 拡張ユークリッドから y の計算式を除いた専用ルーティンを組んだ方が速くなります。