This is a program that relies on templates and a simple backtracking algorithm to solve three very different puzzle types using C++ templates and STL