public static void Main()
new int[] { 1,3,2,5,4,6,9,8,7 },
new int[] { 4,6,5,8,7,9,3,2,1 },
new int[] { 7,9,8,2,1,3,6,5,4 },
new int[] { 9,2,1,4,3,5,8,7,6 },
new int[] { 3,5,4,7,6,8,2,1,9 },
new int[] { 6,8,7,1,9,2,5,4,3 },
new int[] { 5,7,6,9,8,1,4,3,2 },
new int[] { 2,4,3,6,5,7,1,9,8 },
new int[] { 8,1,9,3,2,4,7,6,5 }
Console.WriteLine(sudoku(letstestit));
public static bool sudoku(int[][] gridIn) {
for(int i = 0; i < gridIn.Length; i++)
for(int j = 0; j < 9; j++)
{ sums += gridIn[i][j]; if(gridIn[i][j] == 5) {check5s++;}}
if(sums != testint || check5s > 1)
for(int j = 0; j < 9; j++)
{ sums += gridIn[j][i]; if(gridIn[j][i] == 5) {check5s++;}}
for(int i = 0; i < 9; i++)
for(int j = 0; j < 9; j++)
sumsgrid1 += gridIn[i][j];
sumsgrid2 += gridIn[i][j];
sumsgrid3 += gridIn[i][j];
if(sumsgrid1 != testint || sumsgrid2 != testint || sumsgrid3 != testint)
sumsgrid1 = 0; sumsgrid2 = 0; sumsgrid3 = 0;
for(int j = 0; j < 9; j++)
sumsgrid1 += gridIn[i][j];
sumsgrid2 += gridIn[i][j];
sumsgrid3 += gridIn[i][j];
if(sumsgrid1 != testint || sumsgrid2 != testint || sumsgrid3 != testint)
sumsgrid1 = 0; sumsgrid2 = 0; sumsgrid3 = 0;
for(int j = 0; j < 9; j++)
sumsgrid1 += gridIn[i][j];
sumsgrid2 += gridIn[i][j];
sumsgrid3 += gridIn[i][j];
if(sumsgrid1 != testint || sumsgrid2 != testint || sumsgrid3 != testint)
sumsgrid1 = 0; sumsgrid2 = 0; sumsgrid3 = 0;
return (row && column && grid);