Let me mix up some more 🙂
How about the user has 3 browsers open at the same time and does 3 different calculations at the same time. Then he closes all the browsers and then opens a new browser and trys to go back. Which way back should he go? You question is trickier than you might suspect...
Now.. session data are destroyed when the user closes all the browsers he/she opens to a page. So you'd definitely have to use a database or write information on files.
I think your worst problem is not how to cache data and show them back... but how does the server react on extreme situations.
I would use a database and log the times of the user's actions. If the user wishes to go back I would recall the record with the latest time in the DB.