algo anda mal con tus numeros :p
mira si sustituimos T=6 con P=1 y R=1 ya es una combinacion que excede el valor y por tanto es invalida
(7*6^4) - (6*1^3) + 12*(1^5) = 9072 - 6 + 12 = 9078 9078 > 5850
intenta primero con algo muy sencillo porque el meter la expresion al while podria ocacionar problemas, sobre todo me llama la atencion la parte donde haces R=1 y P=1 esa podria ser la causa de que se quede atrapado en el ciclo infinito ya que estas "reseteando las variables una y otra vez intenta poner un getch en cada resultado para que veas claramente los valores que arroja y no se esten repitiendo una y otra vez por eso recomendaba usar el for con valores fijos de momento, para tener mas control sobre la salida del programa ya despeus podemos pensar en optimizarlo :p saludos