One of my favorites. This Java version programmed by R. Grothmann uses 50 original levels.
You can use the following keys.
arrow keys to move the pusher esc to retry the level backspace to undo the last push F1 to jump to another level
(remember to write down code for every level to be able to use "F1" future)