ユークリッド互除法の計算過程をControl.Monad.Writerで ref: http://qiita.com/nnabeyang/items/4667ed2ed5aa2a618e28