Matriz Inverse

Escreva um programa que gere uma matriz quadrada; apresente-a na tela; verifique
se ela ´e singular ou n˜ao; se for singular, informe isso na tela; caso n˜ao seja singular, apresente a
matriz inversa desta matriz.

public class Exec5 {

public static void main(String[] args) {

    Random random = new Random();
    int[][] v = new int[3][3];

    int a = 0,b = 0,c = 0;

    for (int i = 0; i < v.length; i++) {
        for (int j = 0; j < v[i].length; j++) {
            v[i][j] = random.nextInt(10);
            System.out.print(v[i][j] + " ");
        }
        System.out.println();
    }
    a = (v[0][1] * v[2][2]);
    a = a - (v[2][1] * v[0][2]);
    a = a * (v[1][0]);
    b = (v[0][0] * v[2][2]);
    b = b - (v[2][0] * v[0][2]);
    b = b * v[1][1];
    c = (v[0][0] * v[2][1]);
    c = c * (-v[1][2]);

    int determinante = -(a - b - c);

    System.out.println("Determinante: " + determinante);
    
    if(determinante == 0){
        System.out.println("Nula");
    }else{
        
    }
}

}

Só consigo até aí, a parte de faze-la não sei.