#include "sudoku.h"

bool Sudoku::check(int x, int y, char number) const {
	bool retvalue=true;
	int i=0,bi=3*(x/3),bj=3*(y/3);
	while (i<LENGTH && retvalue==true) {
		if (at(x,i)==number || at(i,y)==number || at(bi+i%3,bj+i/3)==number)
			retvalue=false;
		i++;
	}
	return retvalue;
}

bool Sudoku::nextfree(int& x, int& y) {
	bool retvalue=true;
	int i=0;
	while (i<SQUARE && square[i]!=EMPTY)
		i++;
	if (i!=SQUARE) {
		y=i/LENGTH;
		x=i%LENGTH;
	} else
		retvalue=false;
	return retvalue;
}


