A programming language is considered
Turing-Complete if it provides a way of writting a program that can
solve any problem that a Turing Machine can solve. In other words it
can solve any problem that can be solved using an algorithm. However,
there are many well known problems which cannot be solved by an
algorithm, even with unlimited time and memory. Such problems are
called undecidable problems. Modern computers are turing-complete.