Canonical Form Solver