Largest Factor Optimization
- Check if between n and n+largest_factor we can fit a square times get_squaring_factors{n*(n+largest_factor)}. If so, return n+largest_factor.
- If n+largest_factor is factored to largest_factor with an even power, use n+2*largest_factor.