Arithmetic Without Algorithms: Language Models Solve Math With a Bag of Heuristics