American option pricing: A free-boundary problem approach