let's get some things straight....
1. this is NOT a homework/assignement
2. i don't care about the solution
3. i'm interested in the process that leads to finding the solution
i tried to program this and thought that it is going to be a piece of cake (a few nested forloops and if statements should do this). As i found out, there is alot more logic involved (especially when you made this graphical -> moving pons, checking validity of position, etc).
writing a FAST program that goes all the combinations (and does it efficiantly) is not so obvious. if you are not up for this mini challange, please don't reply to this post.