I'm looking to numerically solve an integral equation in the form
$$\int_0^a \frac{f(t)}{x - f(t)} \, \mathrm{d}t = b$$
where $x$ is the unknown constant to be solved, $f(t)$ is a known arbitrary function, and $a$ and $b$ are given constants. (In my case, information on $f(t)$ is provided as a sampled array: $f(t)$ has been sampled at discrete points in the domain $[t]_j$ to obtain an array $[f]_j = f([t]_j)$).
My initial reaction is to estimate a value for $x$, numerically evaluate the integral, and inspect the difference between both sides of the equation, using a golden section search to refine the estimate. However, this would involve evaluating a relatively large number of integrals before settling on a solution within desired tolerances.
Is there a more computationally efficient approach to solving this? Something that takes advantage of the particular form of the equation? The holy grail would be a direct method as opposed to an iterative one, but I suspect this might not exist!
One thought: You could (assuming $f$ is nice, or that your approximation to it is nice) take the expression $$ H(x) = \int_0^a \frac{f(t)}{x - f(t)} \, \mathrm{d}t $$ and compute its derivative: $$ H'(x) = \int_0^a \frac{-f(t)}{(x - f(t))^2} \, \mathrm{d}t $$ which you can compute using the same numerical method you used to compute $H$ (at some point $x_0$) and then use a Newton's-method approach to finding the zero, i.e., roughly:
Presumably estimating $H'(x_0)$ will involve very little additional work, as long as you're already doing an iterative calculation of $H(x_0)$, which involves all the same numbers.