We can use a generic fixed-point program to implement Newton's method. We will implement the fixed-point program in several ways: purely recursive, recursive with a helper function to eliminate redundant computation, and finally using "let" to hold the local variable.
Going without a derivative is harder, but golden section searches are a fast alternative. These converge as fast as is possible to the max of a unimodal function, without needing a derivative.