This can be solved in two lines of code that gives the (unique) solution in a second. Not even my expensive Mathematica can do this!
?- use_module(library(clpfd)).
true.
?- Vs = [A,B,C,D], Vs ins 1..711, A * B * C * D #= 711000000, A + B + C + D #= 711, A #>= B, B #>= C, C #>= D, labeling([ff, down], Vs).
Vs = [316, 150, 125, 120],
A = 316,
B = 150,
C = 125,
D = 120 ;
false.
Another great thing Prolog is good at is type inference. After all, type inference, in its simplest form, is just syntax-directed constraint generation and then using unification to solve constraints—exactly what Prolog gives you by default. You can write a type inference engine for simply typed lambda calculus in Prolog in 10 minutes. Google used to have a project to do type inference for Python written in Prolog, although they've since [switched away](https://github.com/google/pytype).