To co mi się rzuciło w oczy przy przeczytaniu zadania to zakres danych:
zawierającym dwie liczby naturalne a i b oddzielone pojedynczym odstępem (spacją), takie, że (1 ≤ a,b ≤ 1 000 000 000).
kod wygląda dobrze i mogę podejrzewać że cała zabawa z tym zadaniem nie leży w tym jak obliczyć 3^4 tylko jak obliczyć 123456^12345, a tego ten kod na pewno nie zdoła zrobić, ze względu na ograniczenia inta:
int score = (int) Math.pow(toPower, power);
Jedyne co mogę poradzić to pomyśl, czy na pewno potrzebujesz całej liczby będącej wynikiem...