60674 is a signed integer.
(60674*60674) is also a signed integer - the latter value requires more than the 31-bits of precision available (the remaining bit is used for the sign). The multiplication overflows the capacity of a signed integer and thus gives an incorrect result. Attempting to cast to another type afterwards is bolting the stable door after the horse has fled.
You might in this case squeeze it into an unsigned type which gives an extra bit of precision.
But it would probably be safer to use a floating-point type.
60674.0 is of type double and so is 60674.0*60674.0
In function 'int main()':
4:31: warning: integer overflow in expression [-Woverflow]
5:29: warning: integer overflow in expression [-Woverflow]
6:24: warning: integer overflow in expression [-Woverflow]
6:31: warning: format '%e' expects argument of type 'double', but argument 2 has type 'int' [-Wformat=]
So to fix that, you could either start with doubles in the first place, or cast the first number to a double.