Thanks Nava2, i dont have enought time to "clean" my code. The most important thing is that it works , devs must "clean" it.
Wrong, son 
If the combination varies, here's my 2 cents, I don't have an account in Cap'n Arnav' so can't solve 
SCAR Code:
Procedure ClickDown;
Begin
End;
Function GetSlot(X, Y: Integer): String;
Begin
End;
Procedure SolveGame;
Begin
For I := 0 To 2 Do
Slots[i] := GetSlot(0, i); // Get the first column.
For I := 1 To 2 Do
For C := 0 To 2 Do
Repeat
ClickDown;
Until(GetSlot(i, c) = Slots[c]);
End;

EDIT: Oh, Nielsie's has kinda same logic as "my solver".