libexact

libexact is a software library for solving combinatorial exact covering problems. It implements essentially the backtrack algorithm and the dancing links data structure described in “Donald E. Knuth, Dancing Links, Millennial Perspectives in Computer Science (J. Davies, B. Roscoe, and J. Woodcock, Eds.), Palgrave, Basingstoke, England, 2000, pp. 187–214“ (preprint). The library is written in C, with an honest attempt to conform to the ISO/IEC 9899:1999 standard (C99), and should work on most modern operating systems (e.g. Linux, FreeBSD, Sun Solaris, Mac OS X, Tru64 UNIX and Microsoft Windows).