k, let's get it on...

Function a($r)
Dim $b, $d, $, $i, $k[9], $t, $x, $y, $z
	
	$b = split("._.|.||_| .....|..| ._.._||_. ._.._|._| ...|_|..| ._.|_.._| ._.|_.|_| ._...|..| ._.|_||_| ._.|_|._|")
	For $a = 0 To 8
		$ = ""
		For $z = 0 To 2
			$ = $ + SubStr($r[$z], $a * 3 + 1, 3)
		Next
		$k[$a]=AScan($b, $)		
	Next
	$a = failure
	For $t = 0 to 8
	    $x = Ascan($k,~)
		If $x = $t ^ $x = -1
			$i = ""
			For $x = 0 to 9
				$ = 1
				For $z = 0 to 8
					If SubStr($b[$x], $z+1, 1) = "." & SubStr($r[$z/3], $z mod 3 + $t * 3 + 1, 1) > "."
						$ = 0
					EndIf
				Next
				If $
					$i = $i + $x
				EndIf
			Next
			For $z = 1 to $i^0
				$ = ""
				$x = 0
				For $d = 0 to 8
					$y = IIf($t = $d, SubStr($i,$z,1), $k[$d])
					$x = $x + (9 - $d) * $y
					$ = $ + $y
				Next
				If $x mod 11 = 0
					$a = Iif($a>Z, $, ambiguous)
;				Endif
;			Next
;		EndiF
;	Next
EndFunction



Your solution passed all tests

KiXtart
KiXtart Version  = 4.60
KiXGolf Script   = kixgolf_cs.kix

KiXGolf Scoring Engine
Scoring Engine   = 3.3

KiXtart Golf Score
Tournament       = Check Scanning
Processing Start = 2008/04/24 20:05:27.156
Processing End   = 2008/04/24 20:05:27.203
Duration         = 0000/00/00 00:00:00.046
KiXGolf Score    = 541

Thank you for participating in KiXtart Golf!

I knew that there were too many variables...

[edit: I still have no clue what happens here]


Edited by Jochen (2008-04-24 08:09 PM)
Edit Reason: huh?
_________________________