Luis can do this with a deck of cards and quite frankly, I have no idea how he does it. Same with this Website: it is clearly a process of elimination, but how? And there are still enough variables that this should not work so well.
Still... I tried it and it is really neat!