More efficient solution of zebra puzzle