public static void UpdateSquareNeighbours(this Grid grid, int s) { Console.WriteLine("update square {0}", s); Cell[] square = grid.GetSquareCells(s); for (int i = 0; i < grid.GridSize; i++) { if (grid.GetCell(square[i].X, square[i].Y).Solved) { continue; } grid.GetCell(square[i].X, square[i].Y).Options = grid.UpdateCellOptions(square[i].X, square[i].Y, s); grid.CheckCellForSingleOption(square[i].X, square[i].Y); } }