public int [][] resuolve(){
        int [][] temp = new int[9][9];
        for (int i = 0; i < puzzle.length; i++) {
            for (int j = 0; j < puzzle[i].length; j++) {
                temp[i][j] = puzzle[i][j];
            }
        }
        while(!isAllGridHasNumber(temp)){
            for (int i = 0; i < temp.length; i++) {
                for (int j = 0; j < temp[i].length; j++) {
                    if(temp[i][j]==0){
                        temp[i][j] = checkUniqueNumbers(i, j, temp);
                        if(temp[i][j]==0){
                            temp[i][j] = checkUniqueGrid(i,j,temp);
                        }
                    }
                }
            }
            printResult(temp);
            System.out.println("==================================");
        }
        return temp;
    }