I believe the best simple solution is:
program : expression
| program NEWLINE expression
This only works since PLY generates LR grammars, a nonterminal can't begin with itself (left-recursion) in LL grammars (if you were using a tool such as ANTLR)
You could also do:
program : expression
| expression NEWLINE program
This second version is nice because it's compatible with both LL and LR grammars, but I believe the first rule is more efficient for an LR parser.