  We introduce a self-learning algorithm for synthesizing programs for OEIS
sequences. The algorithm starts from scratch initially generating programs at
random. Then it runs many iterations of a self-learning loop that interleaves
(i) training neural machine translation to learn the correspondence between
sequences and the programs discovered so far, and (ii) proposing many new
programs for each OEIS sequence by the trained neural machine translator. The
algorithm discovers on its own programs for more than 78000 OEIS sequences,
sometimes developing unusual programming methods. We analyze its behavior and
the invented programs in several experiments.
