>>351
1)
適切に描き換えるとA,B,C,Dの修正だけでは済まなくなります。が、あえて入れるとしたら、
(A) A[i][i]
(B) A[i][j] /= pivot
(C) A[j][i]
(D) A[j][k] -= d*A[i][k]
ただし他のところも直さねば動きません

2)
Ax = bの連立方程式を解いているので、rank(A) < dim(A)ならば解けません。

桁落ちが発生する計算を含む場合等も正しい解を得られないでしょう。