It seems to me that the "right" way to solve this is to define an algebraic system of polynomials and solve that. Maybe that is what the topoly code does? b*sqrt(c)/(d+sqrt(e) =f can be written as [b*sc= f*d+f*se, sc^2=c, se^2=e] then solve for whatever you want using algsys or grobner or .... RJF