public static void Main()
double[,] jacobiana = new double[12, 3];
double[,] matriz = new double[3, 4];
double[] muertes = {28,1732,9779,27121, 46000,64158,77163,91289,105655,125807,153639,180536};
double[]casos={2446,28222, 115829, 265510, 475395, 641442, 784074, 918811, 1107071, 1426094, 1806849, 2043632};
double[] tiempo = {1,2,3,4,5,6,7,8,9,10,11,12};
for (int i = 0; i < 12; i = i + 1)
jacobiana[i, 0] = tiempo[i] * tiempo[i];
jacobiana[i, 1] = Math.Sin(tiempo[i]);
jacobiana[i, 2] = Math.Exp(tiempo[i] / 10);
for (int i = 0; i < 3; i = i + 1)
for (int j = 0; j < 3; j = j + 1)
for (int k = 0; k < 12; k = k + 1)
matriz[i, j] = matriz[i, j] + jacobiana[k, i] * jacobiana[k, j];
for (int i = 0; i < 3; i = i + 1)
for (int j = 0; j < 1; j = j + 1)
for (int k = 0; k < 12; k = k + 1)
matriz[i, 3] = matriz[i, 3] - muertes[k] * jacobiana[k, i];
for (int i = 0; i < 3; i = i + 1)
for (int j = 0; j < 3; j = j + 1)
for (int k = 0; k < 12; k = k + 1)
matriz[i, j] = matriz[i, j] + jacobiana[k, i] * jacobiana[k, j];
for (int i = 0; i < 3; i = i + 1)
for (int j = 0; j < 1; j = j + 1)
for (int k = 0; k < 12; k = k + 1)
matriz[i, 3] = matriz[i, 3] - casos[k] * jacobiana[k, i];
for (int reng = 0; reng < 3; reng = reng + 1)
pivote = matriz[reng, reng];
for (int colu = 0; colu < 4; colu = colu + 1)
matriz[reng, colu] = matriz[reng, colu] / pivote;
for (int reng_elimi = 0; reng_elimi < 3; reng_elimi = reng_elimi + 1)
factor = matriz[reng_elimi, reng];
for (int colu_elimi = 0; colu_elimi < 4;
colu_elimi = colu_elimi + 1)
matriz[reng_elimi, colu_elimi] = matriz[reng_elimi,
colu_elimi] - factor * matriz[reng, colu_elimi];
Console.WriteLine(matriz[0, 3] + " " + matriz[1, 3] + " " + matriz[2, 3]+ " ");