Solving General Lattice Puzzles

  • Gill Barequet
  • Shahar Tal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6213)


In this paper we describe implementations of two general methods for solving puzzles on any structured lattice. We define the puzzle as a graph induced by (finite portion of) the lattice, and apply a back-tracking method for iteratively find all solutions by identifying parts of the puzzle (or transformed versions of them) with subgraphs of the puzzle, such that the entire puzzle graph is covered without overlaps by the graphs of the parts. Alternatively, we reduce the puzzle problem to a submatrix-selection problem, and solve the latter problem by using the “dancing-links” trick of Knuth. A few expediting heuristics are discussed, and experimental results on various lattice puzzles are presented.


Polyominoes polycubes 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Br71]
    De Bruijn, N.G.: Programmeren van de pentomino puzzle. Euclides 47, 90–104 (1971–1972)Google Scholar
  2. [DD07]
    Demaine, E.D., Demaine, M.L.: Jigsaw puzzles, edge matching, and polyomino packing: Connections and complexity. Graphs and Combinatorics 23(suppl.), 195–208 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  3. [Du08]
    Dudeney, H.E.: 74.—The broken chessboard. In: The Canterbury Puzzles, 90–92 (1908)Google Scholar
  4. [Fl65]
    Fletcher, J.G.: A program to solve the pentomino problem by the recursive use of macros. Comm. of the ACM 8, 621–623 (1965)CrossRefGoogle Scholar
  5. [Ga57]
    Gardner, M.: Mathematical games: More about complex dominoes, plus the answers to last month;s puzzles. Scientific American 197, 126–140 (1957)CrossRefGoogle Scholar
  6. [GJ79]
    Garey, M., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-completeness. Freeman, San Francisco (1979)zbMATHGoogle Scholar
  7. [Go54]
    Golomb, S.W.: Checkerboards and polyominoes. American Mathematical Monthly 61, 675–682 (1954)MathSciNetCrossRefzbMATHGoogle Scholar
  8. [Go65]
    Golomb, S.W.: Polyominoes, Scribners, New York (1965); 2nd edn. Princeton University Press, Princeton (1994)Google Scholar
  9. [GB65]
    Golomb, S.W., Baumart, L.D.: Backtrack programming, J. J. of the ACM 12, 516–524 (1965)MathSciNetCrossRefzbMATHGoogle Scholar
  10. [HH60]
    Haselgrove, C.B., Haselgrove, J.: A computer program for pentominoes. Eureka 23, 16–18 (1960)Google Scholar
  11. [Ha74]
    Haselgrove, J.: Packing a square with Y-pentominoes. J. of Recreational Mathematics 7, 229 (1974)Google Scholar
  12. [Kn00]
    Knuth, D.E.: Dancing links. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millennial Perspectives in Computer Science, pp. 187–214. Palgrave Macmillan, England (2000), Google Scholar
  13. [Le78]
    Lewis, H.R.: Complexity of solvable cases of the decision problem for the predicate calculus. In: 19th Ann. Symp. on Foundations of Computer Science, Ann Arbor, MI, pp. 35–47 (1978)Google Scholar
  14. [Me73]
    Meeus, J.: Some polyomino and polyamond problems. J. of Recreational Mathematics 6, 215–220 (1973)MathSciNetzbMATHGoogle Scholar
  15. [Sc58]
    Scott, D.S.: Programming a combinatorial puzzle, Technical Report 1, Dept. of Electrical Engineering, Princeton University (June 1958)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Gill Barequet
    • 1
  • Shahar Tal
    • 2
  1. 1.Center for Graphics and Geometric Computing, Dept. of Computer Science, TechnionIsrael Institute of TechnologyHaifaIsrael
  2. 2.Dept. of Computer ScienceThe Open UniversityRaananaIsrael

Personalised recommendations