Vertical curve computations aren't as complicated as they may seem. The keys are to determine endpoints and set up the curve equation. From there it's just repetitious solution of the curve equation.