implementation of an abstract LcsSolver class, from which all solver
algorithms will inherit