Next-Step Hint Generation for Introductory Programming Using Large Language Models