solve polynomial equations