Differentiable Program Learning with an Admissible Neural Heuristic