Handle cases where Newton wants to loop

Also, with recent changes, solve() is O(#terms^2), not O(degree^2), so it's practical to run on might higher-degree polynomials now.