Numbers with 2015 I like to build math problems; to solve the one below I should first find a certain square and use it in my solution. I would want to know if anyone can solve this problem otherwise. Thanks.

Problem. Prove that there are infinitely many natural numbers whose decimal notations end with 2015 and whose squares begin with 2015; in other words, numbers $x$ that satisfy
$$x = a_na_{n-1}......2015$$
$$x^2 = 2015b_{m-4}b_{m-5}.....b_2b_1b_0$$

 A: Let $x=44890\cdots02015$, with any number of zeros in the middle (even none at all).  Then
$$44890\times10^d<x<44893\times10^d$$
for some $d$, so
$$2015112100\times10^{2d}<x^2<2015381449\times10^{2d}\ .$$
Therefore
$$2015\times10^{2d+6}<x^2<2016\times10^{2d+6}\ .$$
Thus $x^2$ is a $(2d+10)$-digit number beginning with the digits $2015$.
A: Reduced the search with some intelligent pattern  and found by programming
that for $x = 141982015$ its square is $20158892583460225$
Write your $x=10000q+2015$. Then
$x^2= 10^8q^2 + 2q.10^4+ 2015^2$
As we are only interested only in the initial digits being 2015,
we ignore the last 4 digits of $2015^2$ getting 406 (from 4060225).
The terminal 4 digits of the first two terms are zeros. 
SO we have to look  for $q$ such that
$10000q^2+2q+406$. starts with $2015$ If the leading decimal digit of $q>1$ 
then it will start with 4 or more and can be ignored.
If the leading two digits are 15 are higher the answer will start with 225 are more.
Here is the Python code:
from sys import argv
st = int(argv[1])
ed = int(argv[2])
for q in range(st,ed):
xx=10000*q*q +2*q+406
print q, "  --->  ", xx
