salve a tutti,
vorrei chiedervi, come posso scrivere un metodo che calcola il determinante di una matrice quadrata di ordine qualsiasi?

codice:
//COMPLEMENTO ALGEBRICO
	public static int complementoAlgebrico(int[][]m,int riga,int colonna){
		int a= (int) Math.pow(-1, riga + colonna);
		return a;
	}

//Minore complementare
	public static int[][] minore(int m[][],int riga,int colonna){
		int[][]n = new int[m.length-1][m[0].length-1];
		n = eliminaRiga(eliminaColonna(m,colonna),riga);
		return n;
	}

//Determinante di una matrice
	public static int determinante(int[][] m){
		int determinante = 0;
		int temporaneo = 0;
		if (m.length!=m[0].length)
			System.out.println("La matrice non e' quadrata, non ha senso calcolarne il determinante");
		else if (m.length==1)
			determinante+=m[0][0];
		else{
			//COSA DEVO SCRIVERE QUI?
			}
		}
		return determinante;
	}
in pratica voglio calcolarlo usando la regola di Laplace. quindi vorrei ridurre tutto a matrici di ordine 2 e calcolare il determinante in base a quelle.
i primi tre sono i metodi che dovrebbero servire per il metodo del determinante, ma chi mi aiuta a implementarlo?
grazie