I don't see why you would ever want to use an algorithm to determine the level based on an experience total. For one thing - you need to be storing the player's level, not only because you're going to need it and don't want to have to calculate it but also because you may adjust your experience curve at some point and you don't want that to impact player levels.
Secondly, you're making a pretty big assumption here that the experience per level needs to scale. Personally, I think having absurd amounts of experience/level to be absurd and pointless because it either gets too grind-heavy or you need to ramp up experience gains to compensate.
IE: why should killing an equal level mob at level 50 give more experience than killing an equal level mob at level 1? In my opinion... it probably shouldn't. What a lot of games do is simply adjust exp gains based on relative level so that it encourages progression but allows for a static exp/level number.
If you want a scaling experience system then I would suggest what you said above: simply create a table and store the exp per level values. You shouldn't have so many levels that it becomes a burden and should be relatively easy to set up.