System of Linear Equations in three variables using Cramer's Rule (original) (raw)
`// CPP program to calculate solutions of linear // equations using cramer's rule #include <bits/stdc++.h> using namespace std;
// This functions finds the determinant of Matrix double determinantOfMatrix(double mat[3][3]) { double ans; ans = mat[0][0] * (mat[1][1] * mat[2][2] - mat[2][1] * mat[1][2]) - mat[0][1] * (mat[1][0] * mat[2][2] - mat[1][2] * mat[2][0]) + mat[0][2] * (mat[1][0] * mat[2][1] - mat[1][1] * mat[2][0]); return ans; }
// This function finds the solution of system of // linear equations using cramer's rule void findSolution(double coeff[3][4]) { // Matrix d using coeff as given in cramer's rule double d[3][3] = { { coeff[0][0], coeff[0][1], coeff[0][2] }, { coeff[1][0], coeff[1][1], coeff[1][2] }, { coeff[2][0], coeff[2][1], coeff[2][2] }, }; // Matrix d1 using coeff as given in cramer's rule double d1[3][3] = { { coeff[0][3], coeff[0][1], coeff[0][2] }, { coeff[1][3], coeff[1][1], coeff[1][2] }, { coeff[2][3], coeff[2][1], coeff[2][2] }, }; // Matrix d2 using coeff as given in cramer's rule double d2[3][3] = { { coeff[0][0], coeff[0][3], coeff[0][2] }, { coeff[1][0], coeff[1][3], coeff[1][2] }, { coeff[2][0], coeff[2][3], coeff[2][2] }, }; // Matrix d3 using coeff as given in cramer's rule double d3[3][3] = { { coeff[0][0], coeff[0][1], coeff[0][3] }, { coeff[1][0], coeff[1][1], coeff[1][3] }, { coeff[2][0], coeff[2][1], coeff[2][3] }, };
// Calculating Determinant of Matrices d, d1, d2, d3
double D = determinantOfMatrix(d);
double D1 = determinantOfMatrix(d1);
double D2 = determinantOfMatrix(d2);
double D3 = determinantOfMatrix(d3);
printf("D is : %lf \n", D);
printf("D1 is : %lf \n", D1);
printf("D2 is : %lf \n", D2);
printf("D3 is : %lf \n", D3);
// Case 1
if (D != 0) {
// Coeff have a unique solution. Apply Cramer's Rule
double x = D1 / D;
double y = D2 / D;
double z = D3 / D; // calculating z using cramer's rule
printf("Value of x is : %lf\n", x);
printf("Value of y is : %lf\n", y);
printf("Value of z is : %lf\n", z);
}
// Case 2
else {
if (D1 == 0 && D2 == 0 && D3 == 0)
printf("Infinite solutions\n");
else if (D1 != 0 || D2 != 0 || D3 != 0)
printf("No solutions\n");
}}
// Driver Code int main() {
// storing coefficients of linear equations in coeff matrix
double coeff[3][4] = {
{ 2, -1, 3, 9 },
{ 1, 1, 1, 6 },
{ 1, -1, 1, 2 },
};
findSolution(coeff);
return 0;}
`
`// Java program to calculate solutions of linear // equations using cramer's rule class GFG {
// This functions finds the determinant of Matrix static double determinantOfMatrix(double mat[][]) { double ans; ans = mat[0][0] * (mat[1][1] * mat[2][2] - mat[2][1] * mat[1][2]) - mat[0][1] * (mat[1][0] * mat[2][2] - mat[1][2] * mat[2][0]) + mat[0][2] * (mat[1][0] * mat[2][1] - mat[1][1] * mat[2][0]); return ans; }
// This function finds the solution of system of // linear equations using cramer's rule static void findSolution(double coeff[][]) { // Matrix d using coeff as given in cramer's rule double d[][] = { { coeff[0][0], coeff[0][1], coeff[0][2] }, { coeff[1][0], coeff[1][1], coeff[1][2] }, { coeff[2][0], coeff[2][1], coeff[2][2] }, };
// Matrix d1 using coeff as given in cramer's rule
double d1[][] = {
{ coeff[0][3], coeff[0][1], coeff[0][2] },
{ coeff[1][3], coeff[1][1], coeff[1][2] },
{ coeff[2][3], coeff[2][1], coeff[2][2] },
};
// Matrix d2 using coeff as given in cramer's rule
double d2[][] = {
{ coeff[0][0], coeff[0][3], coeff[0][2] },
{ coeff[1][0], coeff[1][3], coeff[1][2] },
{ coeff[2][0], coeff[2][3], coeff[2][2] },
};
// Matrix d3 using coeff as given in cramer's rule
double d3[][] = {
{ coeff[0][0], coeff[0][1], coeff[0][3] },
{ coeff[1][0], coeff[1][1], coeff[1][3] },
{ coeff[2][0], coeff[2][1], coeff[2][3] },
};
// Calculating Determinant of Matrices d, d1, d2, d3
double D = determinantOfMatrix(d);
double D1 = determinantOfMatrix(d1);
double D2 = determinantOfMatrix(d2);
double D3 = determinantOfMatrix(d3);
System.out.printf("D is : %.6f \n", D);
System.out.printf("D1 is : %.6f \n", D1);
System.out.printf("D2 is : %.6f \n", D2);
System.out.printf("D3 is : %.6f \n", D3);
// Case 1
if (D != 0)
{
// Coeff have a unique solution. Apply Cramer's Rule
double x = D1 / D;
double y = D2 / D;
double z = D3 / D; // calculating z using cramer's rule
System.out.printf("Value of x is : %.6f\n", x);
System.out.printf("Value of y is : %.6f\n", y);
System.out.printf("Value of z is : %.6f\n", z);
}
// Case 2
else
{
if (D1 == 0 && D2 == 0 && D3 == 0)
System.out.printf("Infinite solutions\n");
else if (D1 != 0 || D2 != 0 || D3 != 0)
System.out.printf("No solutions\n");
}}
// Driver Code public static void main(String[] args) { // storing coefficients of linear // equations in coeff matrix double coeff[][] = {{ 2, -1, 3, 9 }, { 1, 1, 1, 6 }, { 1, -1, 1, 2 }}; findSolution(coeff); } }
// This code is contributed by PrinciRaj1992
`
`// C# program to calculate solutions of linear // equations using cramer's rule using System;
class GFG {
// This functions finds the determinant of Matrix static double determinantOfMatrix(double [,]mat) { double ans; ans = mat[0,0] * (mat[1,1] * mat[2,2] - mat[2,1] * mat[1,2]) - mat[0,1] * (mat[1,0] * mat[2,2] - mat[1,2] * mat[2,0]) + mat[0,2] * (mat[1,0] * mat[2,1] - mat[1,1] * mat[2,0]); return ans; }
// This function finds the solution of system of // linear equations using cramer's rule static void findSolution(double [,]coeff) { // Matrix d using coeff as given in cramer's rule double [,]d = { { coeff[0,0], coeff[0,1], coeff[0,2] }, { coeff[1,0], coeff[1,1], coeff[1,2] }, { coeff[2,0], coeff[2,1], coeff[2,2] }, };
// Matrix d1 using coeff as given in cramer's rule
double [,]d1 = {
{ coeff[0,3], coeff[0,1], coeff[0,2] },
{ coeff[1,3], coeff[1,1], coeff[1,2] },
{ coeff[2,3], coeff[2,1], coeff[2,2] },
};
// Matrix d2 using coeff as given in cramer's rule
double [,]d2 = {
{ coeff[0,0], coeff[0,3], coeff[0,2] },
{ coeff[1,0], coeff[1,3], coeff[1,2] },
{ coeff[2,0], coeff[2,3], coeff[2,2] },
};
// Matrix d3 using coeff as given in cramer's rule
double [,]d3 = {
{ coeff[0,0], coeff[0,1], coeff[0,3] },
{ coeff[1,0], coeff[1,1], coeff[1,3] },
{ coeff[2,0], coeff[2,1], coeff[2,3] },
};
// Calculating Determinant of Matrices d, d1, d2, d3
double D = determinantOfMatrix(d);
double D1 = determinantOfMatrix(d1);
double D2 = determinantOfMatrix(d2);
double D3 = determinantOfMatrix(d3);
Console.Write("D is : {0:F6} \n", D);
Console.Write("D1 is : {0:F6} \n", D1);
Console.Write("D2 is : {0:F6} \n", D2);
Console.Write("D3 is : {0:F6} \n", D3);
// Case 1
if (D != 0)
{
// Coeff have a unique solution. Apply Cramer's Rule
double x = D1 / D;
double y = D2 / D;
double z = D3 / D; // calculating z using cramer's rule
Console.Write("Value of x is : {0:F6}\n", x);
Console.Write("Value of y is : {0:F6}\n", y);
Console.Write("Value of z is : {0:F6}\n", z);
}
// Case 2
else
{
if (D1 == 0 && D2 == 0 && D3 == 0)
Console.Write("Infinite solutions\n");
else if (D1 != 0 || D2 != 0 || D3 != 0)
Console.Write("No solutions\n");
}}
// Driver Code public static void Main() { // storing coefficients of linear // equations in coeff matrix double [,]coeff = {{ 2, -1, 3, 9 }, { 1, 1, 1, 6 }, { 1, -1, 1, 2 }}; findSolution(coeff); } }
// This code is contributed by 29AjayKumar
`