public boolean dfs(char[][] board, int i, int j){
		if(j>=9) return dfs(board, i+1, 0);
		if(i==9) return true;
		if(board[i][j] != '.') return dfs(board, i, j+1);
		
		for(int n=1; n<10; n++){
			board[i][j] = (char)(n+'0');
			if(isValid(board, i, j))
			{
				if(dfs(board, i, j+1)) return true;
			}
			board[i][j] = '.';
		}
		
		return false;
		
	}