The max value for an int is -2147483648 to +2147483648
9^10 generates a number greater than this. That being said, you can't store that value in an integer.
Another issue is that even if you change the type to long long int, you can only calculate up to 9^19 as 9^20 will be too large.
Why would you need to do 9^100 though? That's an extreme calculation
Edit: Note, I think that long long ints range from -9223372036854775808 to +9223372036854775808 but still are not even anywhere close to 9^100. 9^100 would be about 70-80 more digits.
int can not store such a big value.(it has a range -231 to 231-1 on most systems.)
Further , it can't even be done using a double or any other basic data type.
You may use a multiple precision library to do it or use a different language.
See: Modular exponentiation.
The only way I can think of expressing that number in some form of data is by creating a different base number system and store the values in strings. It'd probably be suitable to use something like base 40 or 50. However, it would be an insane amount of work, and not only that, but you'd have to rewrite your own version of mod (%) since it wouldn't support your new base numbers.