A Diophantine equation involving factorial

See abc-conjecture. Probably this problem has some easy tricky solution, but most likely it doesn't. However, abc-conjecture implies it has only finitely many solutions (see below), and if any explicit bounds will be proven (which is not the case today AFAIK), then one may probably brute-force $z$'s to prove it has no solutions (for fixed $z$ with known factorization this doesn't seem hard).

Denote $c=x^3, a=y^3, b=z!$, so we have $a+b=c$. Then $$rad(abc)=rad(z!xy)\le xy\cdot rad(z!)$$ $rad(z!)$ is the product of primes up to $z$ and you can prove that this is smaller than $z!^{\delta}$ for any $\delta>0$ for large enough $z$, because the density of primes among all positive integers is zero. But then $$rad(abc)^{1+\varepsilon}\le x^{1+\varepsilon}y^{1+\varepsilon}(z!)^{\delta(1+varepsilon)}\le x^{2+2\varepsilon+\delta(1+\varepsilon)}< x^3=c$$ for large enough $z$ and small enough $\delta,\varepsilon>0$. Then abc-conjecture asserts that there exist only finitely many such $a,b,c$.


I wrote a routine "cubes" in PARI/GP. For $n>1$ it checkes whether $n$ is the difference of two cubes :

cubes(n)={gef=0;w=factor(n);u=component(w,1)~;v=component(w,2)~;forvec(z=vector(length(v),m,[0,v[m]]),t=prod(j=1,length(v),u[j]^z[j]);if((gef==0)*(t^3<n),if(issquare((12*n-3*t^3)/t)==1,gef=1)));gef}

The routine is based on the fact that with $a:=x-y$ , $k:=3(x+y)$ , $N:=x^3-y^3$ we have $$3a^3+ak^2=12N$$

So, $N>1$ is the difference between two cubes if and only if for some $a|N$, the number $\frac{12N-3a^3}{a}$ is a perfect square. Since I required $a^3<n$ in the program, the program returns "$0$" if $N$ is a cube.

This is because $N=x^3-y^3$ and $y=0$ is ruled out and a solution with $y>0$ cannot exist because we would have a counterexample for Fermat's last theorem for exponent $3$. Anyway, a factorial (besides $1$) cannot be a cube, so this case plays no role.

The following program (I copied the output after some minutes, so the program is not finished!) shows that no factorial $z!$ with $2\le z\le 35$ is the difference between two cubes. I will continue the search.

? gefunden=0;j=0;while(gefunden==0,j=j+1;print1(j," ");if(cubes(j!)==1,gefunden=
1))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 31 32 33 34 35 36