Sudoku.Sudoku.CanPut C# (CSharp) Method

CanPut() static private method

static private CanPut ( int sudoku, int x, int y, int val ) : bool
sudoku int
x int
y int
val int
return bool
        static bool CanPut(int[,] sudoku, int x, int y, int val)
        {
            for (int i = 0; i < BOARD_SIZE; i++)
            {
                if (sudoku[i, y] == val) // test rows
                {
                    return false;
                }
                if (sudoku[x, i] == val) // test columns
                {
                    return false;
                }
            }
            // test square
            int a = x - (x % 3);
            int b = y - (y % 3);
            for (int i = a; i < a + 3; i++)
            {
                for (int j = b; j < b + 3; j++)
                {
                    if (sudoku[i, j] == val)
                    {
                        return false;
                    }
                }
            }
            return true;
        }