As I said before I'm completly sure that it is "logically" impossible, but I'll try to think of a way to improve your solution - even though I'll never get to 100% accuracy, it might lead to an error, even though the chances of getting it right are huge.
I must say it was one of the most intriguing logical problems I've ever seen.
