>>499
なんかループ多くて余因子求めるよりも効率悪そう…

>>500
            elements = new double[][] { 
                new double[] { elements[0][0], elements[1][0], elements[2][0], elements[0][3] }, 
                new double[] { elements[0][1], elements[1][1], elements[2][1], elements[1][3] },
                new double[] { elements[0][2], elements[1][2], elements[2][2], elements[2][3] },
                new double[] { -elements[3][0], -elements[3][1], -elements[3][2], -elements[3][3] } };
としてみましたが、平行移動の部分が上手く消えずに単位行列にはならなかったです orz