private boolean fillNumber(char[][] board, int row, int col)
      {
    	  int size = board.length; 
    	  
    	  
   	 
          for(int i=row; i<size; i++)
          {
        	  int j=col;
        	  if(i==row+1)j=0;
        	  
        	  for(; j<size; j++)
        	  {
        		  if(board[i][j]!='.')
        			  continue;
        		  else
        		  {
        			  for(int k=1; k<10; k++)
        			  {
        				  if(isValidSudoku(board, i, j, k))
        				  {
        					  board[i][j] = String.valueOf(k).charAt(0); 
        					  if(fillNumber(board, (j==size-1?i+1:i), (j==size-1?0:j+1))) return true;
        					  board[i][j] = '.';
        				  }
        				  
        			  }
        			  return false;
        		  }
        		  
        	  }
          }
          return true;
          
      }