public class Main {
public static void main
(String[] args
) {
double[][] A = {
{2, 5},
{-3, 1}
};
double[] B = {11, -4};
System.
out.
println("Matrix A:"); printMatrix(A);
System.
out.
println("\nVector B:"); for (double v
: B
) System.
out.
println(v
);
double detA = A[0][0] * A[1][1] - A[0][1] * A[1][0];
System.
out.
println("\nDeterminant of A: " + detA
);
if (detA == 0) {
System.
out.
println("Matrix is singular. No unique solution."); return;
}
double detA1 = B[0] * A[1][1] - A[0][1] * B[1];
double detA2 = A[0][0] * B[1] - B[0] * A[1][0];
// Cramer's Rule solutions
double x1 = detA1 / detA;
double x2 = detA2 / detA;
System.
out.
println("\nSolution using Cramer's Rule:"); System.
out.
println("x1 = " + x1
); System.
out.
println("x2 = " + x2
);
System.
out.
println("\nInverse of A:"); double[][] inverse = {
{ A[1][1] / detA, -A[0][1] / detA },
{ -A[1][0] / detA, A[0][0] / detA }
};
printMatrix(inverse);
}
public static void printMatrix(double[][] m) {
for (double[] row : m) {
for (double val : row)
System.
out.
printf("%10.4f ", val
); }
}
}
cHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgCQogICAgICAgIGRvdWJsZVtdW10gQSA9IHsKICAgICAgICAgICAgezIsIDV9LAogICAgICAgICAgICB7LTMsIDF9CiAgICAgICAgfTsKCiAgICAgICAgZG91YmxlW10gQiA9IHsxMSwgLTR9OwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1hdHJpeCBBOiIpOwogICAgICAgIHByaW50TWF0cml4KEEpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlxuVmVjdG9yIEI6Iik7CiAgICAgICAgZm9yIChkb3VibGUgdiA6IEIpIFN5c3RlbS5vdXQucHJpbnRsbih2KTsKCiAgICAgICAgZG91YmxlIGRldEEgPSBBWzBdWzBdICogQVsxXVsxXSAtIEFbMF1bMV0gKiBBWzFdWzBdOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG5EZXRlcm1pbmFudCBvZiBBOiAiICsgZGV0QSk7CgogICAgICAgIGlmIChkZXRBID09IDApIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXRyaXggaXMgc2luZ3VsYXIuIE5vIHVuaXF1ZSBzb2x1dGlvbi4iKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgZG91YmxlIGRldEExID0gQlswXSAqIEFbMV1bMV0gLSBBWzBdWzFdICogQlsxXTsKICAgICAgICBkb3VibGUgZGV0QTIgPSBBWzBdWzBdICogQlsxXSAtIEJbMF0gKiBBWzFdWzBdOwoKICAgICAgICAvLyBDcmFtZXIncyBSdWxlIHNvbHV0aW9ucwogICAgICAgIGRvdWJsZSB4MSA9IGRldEExIC8gZGV0QTsKICAgICAgICBkb3VibGUgeDIgPSBkZXRBMiAvIGRldEE7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG5Tb2x1dGlvbiB1c2luZyBDcmFtZXIncyBSdWxlOiIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigieDEgPSAiICsgeDEpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigieDIgPSAiICsgeDIpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlxuSW52ZXJzZSBvZiBBOiIpOwogICAgICAgIGRvdWJsZVtdW10gaW52ZXJzZSA9IHsKICAgICAgICAgICAgeyBBWzFdWzFdIC8gZGV0QSwgLUFbMF1bMV0gLyBkZXRBIH0sCiAgICAgICAgICAgIHsgLUFbMV1bMF0gLyBkZXRBLCBBWzBdWzBdIC8gZGV0QSB9CiAgICAgICAgfTsKICAgICAgICBwcmludE1hdHJpeChpbnZlcnNlKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgcHJpbnRNYXRyaXgoZG91YmxlW11bXSBtKSB7CiAgICAgICAgZm9yIChkb3VibGVbXSByb3cgOiBtKSB7CiAgICAgICAgICAgIGZvciAoZG91YmxlIHZhbCA6IHJvdykKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCIlMTAuNGYgIiwgdmFsKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgfQogICAgfQp9Cg==