univariate root solver