public static void Main()
double[,] matrix = new double[n, n + 1];
Random random = new Random();
Console.WriteLine("Matriz original (7x7 con términos independientes):");
for (int i = 0; i < n; i++)
for (int j = 0; j <= n; j++)
matrix[i, j] = random.Next(-10, 11);
Console.Write(matrix[i, j] + "\t");
double[,] originalMatrix = (double[,])matrix.Clone();
Console.WriteLine("\nMatriz final después de la eliminación de Gauss:");
double[] solution = SutiRegre(matrix);
Console.WriteLine("\nLa solución del sistema es:");
for (int i = 0; i < n; i++)
{Console.WriteLine($"x{i + 1} = {solution[i]}");}
{Console.WriteLine("\nLa matriz no tiene solución.");}
static bool GaussEliMet(double[,] mat)
for (int i = 0; i < n; i++)
for (int k = i + 1; k < n; k++)
if (Math.Abs(mat[k, i]) > Math.Abs(mat[max, i]))
for (int k = i; k < n + 1; k++)
double temp = mat[max, k];
if (Math.Abs(mat[i, i]) < 1e-10)
for (int k = i + 1; k < n; k++)
double factor = mat[k, i] / mat[i, i];
for (int j = i; j < n + 1; j++)
mat[k, j] -= factor * mat[i, j];
static double[] SutiRegre(double[,] mat)
double[] result = new double[n];
for (int i = n - 1; i >= 0; i--)
for (int j = i + 1; j < n; j++)
result[i] -= mat[i, j] * result[j];
static void PrintMatrix(double[,] mat)
for (int i = 0; i < n; i++)
for (int j = 0; j <= n; j++)
Console.Write(mat[i, j] + "\t");