How do leveling and EXP work in Pokemon Shuffle?

According to Gamefaqs, Japanese forums are saying they cracked the EXP formula. Here's what they figured out:

Each level gives [Total Moves] EXP. All EX Stages give 10 EXP, regardless of the time limit.
Remaining Moves, Bonus Combo, Overkill and Type Matchups have no effect.

If you don't manage to defeat the Pokemon, you get:
[Total Moves] * [Percentage Damage Done]% EXP.

For example 64% damage on Ampharos would get you 32 EXP (50*64%). The crowned Pokemon in the results gets a 2x multiplier, receiving double the EXP. The crowned Pokemon is the one that's removed the most, including those which are removed by a Mega Evolved Pokemon's effects.

The amount of EXP a Pokemon needs to level up depends on its starting Attack Power:
Starting Attack 30 = 50 Base EXP.
Starting Attack 40 = 55 Base EXP.
Starting Attack 50 = 60 Base EXP.
Starting Attack 60 = 65 Base EXP.
Starting Attack 70 = 70 Base EXP.
Starting Attack 80 = 75 Base EXP.
Starting Attack 90 = 80 Base EXP.

Other values are not checked yet.

Each level is harder to reach than the last.
Lv.2: Base EXP * 1
Lv.3: Base EXP * 2 (total: 3x)
Lv.4: Base EXP * 3 (total: 6x)
Lv.5: Base EXP * 3 (total: 9x)
Lv.6: Base EXP * 9 (total: 18x)
Lv.7: Base EXP * 15 (total: 33x)
Lv.8: Base EXP * 18 (total: 51x)
Lv.9: Base EXP * 21 (total: 72x)
Lv.MAX: Base EXP * 24 (total: 96x)

In other words, going from Lv.1 to Lv.5 takes as long as going from Lv.5 to Lv.6.


UPDATE for version 1.3:

With the newly added Raise Max Level Enhancement, some Pokemon can now reach level 15.

According to Pastebin, the amount of EXP needed for those is:

Lv.11: Base EXP * 27 (total: 123x)
Lv.12: Base EXP * 21 (total: 144x)
Lv.13: Base EXP * 30 (total: 174x)
Lv.14: Base EXP * 36 (total: 210x)
Lv.15: Base EXP * 42 (total: 252x)