Well, here's what I've found. Lot of formula here, but it's pretty easy to understand. It only needs a few extra variables, all the rest are derived from IVs pretty much.
HP Type = (T1 + T2 + T3 + T4 + T5 + T6) x 15/63
where
T1 is 1 if the HP IV is odd, otherwise it's 0
T2 is 2 if the Attack IV is odd, otherwise 0
T3 is 4 if the Defence IV is odd, otherwise 0
T4 is 8 if the Speed IV is odd, otherwise 0
T5 is 16 if the Special Attack IV is odd, otherwise 0
T6 is 32 if the Special Defence IV is odd, otherwise 0
Round any decimals normally, and you should get a value between 0 and 15.
If the type number is 0, HP Type is Fighting
If the type number is 1, HP Type is Flying
If the type number is 2, HP Type is Poison
If the type number is 3, HP Type is Ground
If the type number is 4, HP Type is Rock
If the type number is 5, HP Type is Bug
If the type number is 6, HP Type is Ghost
If the type number is 7, HP Type is Steel
If the type number is 8, HP Type is Fire
If the type number is 9, HP Type is Water
If the type number is 10, HP Type is Grass
If the type number is 11, HP Type is Electric
If the type number is 12, HP Type is Psychic
If the type number is 13, HP Type is Ice
If the type number is 14, HP Type is Dragon
If the type number is 15, HP Type is Dark
And to determine the power of the move. We use this formula:
HP Power = (P1 + P2 + P3 + P4 + P5 + P6) x 40/63 + 30
Where:
If the IV of HP divided by 4 has a remainder of 2 or 3, P1 = 1, else 0
If the IV of Attack divided by 4 has a remainder of 2 or 3, P2 = 2, else 0
If the IV of Defence divided by 4 has a remainder of 2 or 3, P3 = 4, else 0
If the IV of Speed divided by 4 has a remainder of 2 or 3, P4 = 8, else 0
If the IV of Special Attack divided by 4 has a remainder of 2 or 3, P5 = 16, else 0
If the IV of Special Defence divided by 4 has a remainder of 2 or 3, P6 = 32, else 0
Simply put, if the value of the IV is these values, then it activated the P conditions in the formula, else they are not added: 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31.
The number that comes of the HP Power formula determines the base power of the Hidden Power of the Pokemon. Again, round normally, and the number you get will be between 30 and 70.
I hope that sums things up enough (yeah, it's not completely easy to understand)