OK - I think this will help explain where I'm going with this. As you guys rightfully pointed out - very limited options (on the face at least)
- I did not know about the adherence to binary multiplication - that's good to know, thanks Chillyfeez
Anyway - I plan to use the differences between levels to build up as we are going along. The picture marked "From Table" is what the game has now - values in black are stored on the ROM - so in the case of the game as it is they coded in every level. My plan is to store 4 values per character (and some corrective bytes for each character as they are going along) My picture marks in black the top row, the first tabulated value and the first 3 differences. Just for my own peace of mind I have to say that though this is a divided difference method there will be no division because I'm going to keep everything linear - i.e. no (Level)^2 anywhere. With the 4 values in black I can calculate the calculate the values in red - and then blue at the next level, and then green - and those are all exact. Mathematically speaking they better still be exact because I only have 4 levels and I started off with an exact picture so if I some how lost the information: "whoo smokies..."

I just looked at my layout again - I made it look harder than it is...that first column of data is what I calculated for the actual Exp Levels...what the ROM stores is the 2nd column, the difference between the experience levels...even less to calculate: score! - Also the number for the first column of Level 13 is wrong - but just ignore that column...two wrongs can make a right...and now back to our program in progress...
So that gets me to Level 13 - but then what where's the next round of data? If you can imagine adding one more block to each I would need the number below 39 - but that depends on the number that should be below 259 - and that depends ... That would be a problem were it not for one thing - there's a pattern down in the 3rd difference (for the low data at least - probably have to shift up a few later) if you use the data from the ROM to keep building the difference table you'll find this sequence:
39, 41, 44, 48, 51, 54, 58, 60, 63, 67, 70, 73, 77, 79,...
A few things jumped out at me - first was there set of differences:
(41 - 39) = 2, (44 - 48) = 4, (51 - 48) = 3, (54 - 51) = 3, (60 - 58) = 2, (67 - 63) = 4, (70 - 67) = 3, (73 - 70) = 3, (77 - 73) = 4, (79 - 77) = 2
=> D4(Level) = (2, 4, 3, 3, 2, 4, 3, 3, 4, ...) where the first value corresponds with Level 14 i.e. in math speak: D4 (14) = 2, or on a graph of Level vs 4th Difference there would be a point at (14, 2) (Level is the 'X' coordinate because we know it (independent variable), that's why it's first)
There's not a super stellar pattern here: 2-4-3-3 then 2-4-3-3 again, but then it's 4, so the pattern would have to be at least 9 long (those 9 again) - and that's no pattern at all. But...if you look at just the numbers themselves you'll notice this:
D4 seems to always be: 3 +/- 1
Also just to clarify: that sequence as calculated is 100% exact - I took the original numbers from the ROM and went through each level of calculation to get down to the D3(Level) = (39, 41, 44, 48, 51, 54, 58, 60, 63, 67, 70, 73, 77, 79,...
- So we're not making stuff up...yet

But that consistency in difference is huge - the average of the 1st 8 from 2, 4, ... is exactly 3 which would mean to a good approximation if I just assume that 4th difference is 3 then I'm probably going to be OK!
And we are... take a look you could try and build the number from scratch - Level 13 has a 3rd difference of 39...which is exactly 3 x 13...then 14 goes with 41 which is almost 14 x 3 = 42...but 3 is a bad multiplier...though I have a question about that (for later). But I can fix that - if I want to stick to powers of 2, if I shift one in 4th Difference then it makes sense to shift back as my starting point...i.e I was trying (Level x 3) = D4...but what about instead starting off at Level 10 (I can start anywhere I want - it just probably won't work most places)...but 10 x 4 = 40...almost 41...11 x 4 = 44, right on the money...12 x 4 = 48, also exact...13 x 4 = 52, 1 off from 51, but then it gets a little worse 54 is 56 = 14 x 4...and so on...
Long story short (too late) with very little effort on my part (other than formatting problems and chasing down a bug in Excel) I can write out a pretty good approximation
In fact, here's what I mean...
When I calculated the D4 values (all the way to 99 - I wasn't doing it out so why not) that value of 79 corresponded to Level 25...which is pretty good - if I had guessed D4 = +3 / Level...3 x 25 = 75, only 4 short...but then if I jump to Level 50...I would guess 150, just adding another 75...it's 158...if I had added 4 to my guess for Level 25 they'd both have been exact...
Thank you all for attending this lecture: I hope it was informative and stimulating

To be serious, I do let's say half-apologize for going on-and-on I guess I wanted to show off that approach even more than I thought...because truth be told that method is not approved by the American Dental Association...or whatever their little math club is called..."It's a bad strategy because you can basically write it down for someone as 'Take a look at the data and hope you get lucky'" -

OK - rant over - and just a little more actual business on this...a few other things of note are that those differences of 1, or 2, even 4 - that's a linear difference...i.e. everything in this difference table is just from addition (technically it should be an addition table, we start and add outward) - so what I'm driving at is when I say you're off by 8 in guessing 150 for Level 50: that means 8...it doesn't get worse over time that 8 is always just 8 off...so even if it were 8 off all the way back to 25 you would have missed the total by only 200...and at level 50 the number you're looking for is 874,300...I think it's an acceptable loss, no?