364

 Code:
Function S($o)
Dim $i, $, $k, $t, $x

For $x = 0 to 16
	Redim $r[3], $c[3], $q[3], $s[3, 3, $x]
	
	For $i = 0 to 3
		For $ = 0 to 3
			$k = 3-2*($i<2)-($<2)
			
			$t = $o[$i,$]
			$r[$] = $r[$] + $t
			$c[$i] = $c[$i] + $t
			$q[$k] = $q[$k] + $t

			$s[$i, $, $x] = $t
		Next
	Next

	if instr(join($r),x)=0
		exit
	endif
	For $ = 0 to 3
		For $i = 0 to 3
				$k=@
				for $t = 1 to 4
					if 0=instr($c[$]+$r[$i]+$q[3-2*($<2)-($i<2)],$t) + $o[$,$i]
						$k=$k+$t
					endif
				next

				if 1=($k^)
					$o[$,$i]=$k
					$=3 $i=3
EndFunction
_________________________
!

download KiXnet