# Inverse of a Matrix problem

```import java.util.Scanner; public class mainclass {     public static void main(String str[]) { Scanner in = new Scanner(System.in); int num;   System.out.println("Enter rows/columns : "); num = in.nextInt();     double A[][] = new double[num][num]; double B[][] = new double[num][num];     for(int i=0;i<num;i++) for(int j=0;j<num;j++) { System.out.println("Enter element " + "["+i+"]"+"["+j+"]"); A[i][j] = in.nextDouble(); }   for(int i=0;i<num;i++) for(int j=0;j<num;j++) { if(i==j) { B[i][j] = 1; }   else { B[i][j] = 0; } }   label1: for(int i=0;i<num;i++) { if(i%2==0) { label2: for(int j=0;j<num;j++) { if(j==i) { if(A[j][i]>1 || A[j][i]<1) { label3: for(int k=0;k<num;k++) { if(k!=j) { double div = (A[j][i]-1)/A[k][i];   for(int l=0;l<num;l++) { A[j][l]=A[j][l]-(div*A[k][l]); B[j][l]=B[j][l]-(div*B[k][l]); } continue label2;     } else continue label3; }   } else continue label2;   } else { if(A[j][i]!=0) { label: for(int k=0;k<num;k++) if(k!=j) {   { double div = A[k][i]/A[j][i]; for(int l=0;l<num;l++) { A[j][l]=A[j][l]-(div*A[k][l]); B[j][l]=B[j][l]-(div*B[k][l]); }   } break label; } else { continue label; } }   else continue label2;       } }   } else { label4: for(int j=num-1;j>=0;j--) { if(j==i) { if(A[j][i]>1 || A[j][i]<1) { label5: for(int k=0;k<num;k++) { if(k!=j) { double div = (A[j][i]-1)/A[k][i];   for(int l=0;l<num;l++) { A[j][l]=A[j][l]-(div*A[k][l]); B[j][l]=B[j][l]-(div*B[k][l]); } break label5;     } else continue label5; }   } else continue label4;   } else { if(A[j][i]!=0) { label6: for(int k=0;k<num;k++) if(k!=j) {     double div = A[k][i]/A[j][i];   for(int l=0;l<num;l++) { A[j][l]=A[j][l]-(div*A[k][l]); B[j][l]=B[j][l]-(div*B[k][l]); }       break label6; } }   else continue label4;       } }       }   }   System.out.println("The inverted matrix is : ");   for(int i=0;i<num;i++) { System.out.println(""); for(int j=0;j<num;j++) { System.out.print(B[i][j]+ " "); }   }     } }```