Programming by Examples Meets Historical Linguistics: A Large Language Model Based Approach to Sound Law Induction