factor gets recursive flag

This is documented in the docstring with an example and is used
in subsequent commits.
remove some indeterminism from solve