Обратная матрица и определитель

Здравствуйте, написала код по нахождению корней в С++, но не могу понять, как сразу в этой же программе найти обратную матрицу. определитель можно найти отдельно. Проблема в том, что мои обратная матрица и определитель не сходятся с ответом. Прикрепляю код для нахождения корей и исходную матрицу.
{6.5, 3.8, -4.1, 1.2, 9.92},
{7.1, -2.7,-1.4, 1.4, 6.95},
{-1.8, -1, 4.3, 1.3, 7.91},
{1.5, -3.4, 7.8, -1.8, 15.09}

/code

#include iostream>
#include cmath>
#include vector>
#include algorithm>
using namespace std;


int main()
{
constexpr int n = 4;

vector<vector<double» M
{
{6.5, 3.8, -4.1, 1.2, 9.92},
{7.1, -2.7,-1.4, 1.4, 6.95},
{-1.8, -1, 4.3, 1.3, 7.91},
{1.5, -3.4, 7.8, -1.8, 15.09}
};
vector<double> x(n);

for (int i = 0; i < n - 1; ++i)
for (int j = i + 1; j < n; ++j)
{
double f = M[j][i] / M[i][i];
for (int k = 0; k < n + 1; ++k)
M[j][k] = M[j][k] - f * M[i][k];
}

for (int i = n - 1; i >= 0; —i)
{
x[i] = M[i][n];
for (int j = i + 1; j < n; ++j)
if (i != j)
x[i] = x[i] - M[i][j] * x[j];
x[i] = x[i] / M[i][i];
}
cout«"Корни равны ="«endl;
for (int i = 0; i < n; ++i)
cout « "x[" « i + 1 « "] = " « x[i] « "\n";
}

Ну, попробуй почитать что-нибудь

Если нет доверия к ответу, то можно попробовать посчитать каким-нибудь готовым математическим пакетом - Вычисление обратной матрицы в EXCEL. Примеры и описание