def solve_no_check_for_dups(puzzle,start=0):
	"This solver function does not check for multiple solutions."
	if start==81:
		return puzzle[:]
	x,y=linearToCoord(start)
	possibilities=possible(x,y,puzzle)
	if len(possibilities)==0:
		return
	for possibility in possibilities:
		p=puzzle[:]
		p[coordToLinear(x,y)]=possibility
		x,y=linearToCoord(start)
		if not check(x,y,puzzle):
			continue
		solved=solve_no_check_for_dups(p,start+1)
		if solved:
			return solved
	return []
This solver function does not check for multiple solutions.
recipes/Python/576505_Sudoku_solvercreator/recipe-576505.py