児玉 です.

complex.rb の Complex::divmod は
obsolete 扱いのようなので, 問題が無いなら,
polynomial.rb と一緒に固めてある number.rb 中で
Complex::divmod を定義したいのですが, どうでしょう?
これの候補は, number.rb 中で Number.divmodC として定義してあります.

整数ユ−クリッドの互除法ができるのと同様に,
複素数の Gauss 整数(a+bi: a,b は整数) に対して
適当に剰余を定義すると, ユ−クリッドの互除法が可能になり,
複素数の最大公約数を定義する事ができます.
divmodC はこれに合わせています.
これによる複素GCD は Number.gcdC として定義しています.
-- 
K.Kodama(kodama / kobe-kosen.ac.jp)