Large Language Models Perform Diagnostic Reasoning