>>664のリンク先がドンピシャで洗練された方法と言ってるわけじゃないよ
「現在の」自分のレベルではモノにできなさそうな、
そういう方法に君がいきなりかぶりつこうとしているように見えたから、
目標レベルを落とそうよと言いたかっただけ

配列じゃなくリストのリストで行列を表現して、
例えば次のリンク先の方法を愚直に Haskell に翻訳してみればいい。
http://www.akita-nct.jp/yamamoto/lecture/2004/5E/linear_equations/text/html/node4.html
で、やってみて何が気に入らないのか、何が汚いのか、言ってみてよ

> 配列の要素を次々に書き換えながら処理が進む
なら、新しいリスト(のリスト)を次々に作ればいい