public int PopNextNumber()

in Sudoku/Cell.cs [35:47]


    public int PopNextNumber()
    {
      if (IsFilled) throw new InvalidOperationException();

      var options = _options;
      var number = Enumerable.Range(1, 9).FirstOrDefault(_ => options.Contains(_));

      // number == NumberEx.Unknown means we tried all numbers and all branches finished by dead end
      if (number != NumberEx.Unknown) 
        RemoveOption(number);

      return number; 
    }