public boolean canSolveSudoku(char[][] board){
        for(int i = 0; i < 9; i++){
            for(int j = 0; j < 9; j++){
                if(board[i][j] == '.'){
                    for(char m = '1'; m <= '9'; m++){
                        board[i][j] = m;
                        if(isValid(board, i, j) && canSolveSudoku(board)) return true;
                        board[i][j] = '.';
                    }
                    return false;
                }
            }
        }
        return true;
    }