private bool CouldPutValueInSquare(Columns column, Rows row, Values value) { int r = (int)row; int c = (int)column; return ( ((_RowValues[r] & value) == 0) && ((_ColumnValues[c] & value) > 0) && ((_RegionValues[c / 3, r / 3] & value) == 0) ); }