Implied volatility
Newton with bisection fallback, and when vol is not identified.
Implied volatility is recovered by Newton iteration on vega with a bisection fallback, since Newton is unreliable where vega approaches zero.
When the solver returns nothing
Two cases. The first is a target price outside no arbitrage bounds. The second is more interesting and is often fudged elsewhere.
A deep in the money option at low volatility is worth intrinsic value whatever the volatility is. At S = 100, K = 70, T = 0.6 and σ = 0.08, vega is about 1.2e−6, so changing σ by 0.004 moves the price by 5e−9. The volatility is not identified by the price. Reporting a figure to four decimals would be false precision, so the solver returns nothing and the surface value is used instead.
Convergence
Newton converges in a handful of steps near the money. The bisection fallback always converges because price is monotone in volatility, and it covers the wings where Newton oscillates. Round trip accuracy is asserted at 1e−6 across strikes from 70 to 130, tenors and both option types.