heh.

I bet I forgot something = you got easy picking to do...

 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 7
		For $ = 0 to 3
			if $i<4
				$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
				if 0=instr(join($r),x) & $i=3 & $=3
					exit
				endif
			else
				$k=@
				for $t = 1 to 4
					if 0=instr($c[$i-4]+$r[$]+$q[3-2*($i<6)-($<2)],$t) + $o[$i-4,$]
						$k=$k+$t
					endif
				next

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

download KiXnet