public void removeRandomValue() { Random rnd = new Random(); int i = rnd.Next(gridSize); int j = rnd.Next(gridSize); if (grid[i, j] > 0) { int oldValue = grid[i, j]; grid[i, j] = 0; solver.NewGrid(grid.Clone() as int[, ]); int res = solver.Run(); if (res == 0 && CompareSolveGrid(solver.GetGrid())) { nbRemove++; return; } grid[i, j] = oldValue; } }