public static void Main() {
double[] tiempo = {1,2,3,4,5,6,7,8,9,10};
double[] f = {7.2074, 10.5465, 9.7056, 8.2160, 10.2054, 16.6029, 24.2849, 28.9468, 29.0606, 27.2799};
int datos = f.Length, incognitas = 2;
int ren = incognitas, col = ren + 1;
double [,] matrizJacobiana = new double[datos, incognitas];
double [,] matriz = new double [incognitas, incognitas + 1];
for(int i = 0; i < datos; i++)
matrizJacobiana[i,0] = tiempo[i];
matrizJacobiana[i,1] = Math.Sin(tiempo[i]);
for (int i = 0; i < incognitas; i++)
for (int j = 0; j < incognitas; j++)
for (int k = 0; k < datos; k++)
matriz[i,j] += matrizJacobiana[k, j] * matrizJacobiana[k, i];
for (int i = 0; i < incognitas; i++)
for (int j = 0; j < datos; j++)
matriz[i,incognitas] += matrizJacobiana[j,i] * f[j];
for (int r = 0; r < ren; r++)
pivote = matriz[ r , r ] ;
for (int c = 0; c < col; c++)
matriz[r,c] = matriz[r,c] / pivote;
for(int rCero = 0; rCero < ren; rCero++)
factor = matriz[rCero, r ];
for(int cCero = 0; cCero < col; cCero++)
matriz[rCero, cCero] = matriz[rCero, cCero] - (factor * matriz[r, cCero]);
for (int r = 0; r < ren; r++)
Console.WriteLine("Variable " + (r + 1) + ": " + matriz[r, col - 1]);