Lo confermo, non e per niente facile (non so quanto vale la mia voce, pero giacche

)
La soluzione mia e
Quella di partenza e $f(xy)=f(x)f(y)-f(x+y)+1$
Pongo $x=y=0$ e ottengo $(f(0)^2-1)=0$ e cioè $f(0)=1$
Pongo $x=1 $ e $y=-1$ e ottengo $f(-1)=f(1)f(-1)-f(0)+1$ quindi $f(-1)[f(1)-1]=0$
Primo caso $f(-1)=0$
Pongo $y=yz$ per ottenere $f(xyz)=f(x)f(yz)-f(x+yz)+1=f(x)[f(y)f(z)-f(y+z)+1]-f(x+yz)+1$. Ma dato che l ultimo e uguale a $f(xyz)$ che e simmetrico, allora posso ciclare il rhs che diventa $f(z)[f(x)f(y)-f(x+y)+1]-f(z+xy)+1$ e quindi $f(z)[f(x)f(y)-f(x+y)+1]-f(z+xy)+1=f(x)[f(y)f(z)-f(y+z)+1]-f(x+yz)+1$ oppure sviluppando otteniamo
$$f(x)f(y+z)+f(x+yz)-f(x)=f(z)f(x+y)+f(xy+z)-f(z) \ \ \ (0.)$$
Pongo $z=-1$ e $x=1$ (ricordando che $f(-1)=0$) ottengo
$$f(1)f(y-1)+f(1-y)-f(1)=f(y-1) \ \ \ (1.) $$
Adesso pongo $y=2$ e ottengo $f^2(1)=2f(1)$
Da qui distingo due altri sottocasi
Primo caso.1 $f(1)=0$
Riprendo la $(1.)$ e quindi $f(1-y)=f(y-1)$ cioe la funzione è pari cioe $f(x)=f(-x)$. Pongo nell equazione iniziale $y=-y$ e quindi ottengo $f(-xy)=f(x)f(-y)-f(x-y)+1$ ma con la parita $f(xy)=f(x)f(y)-f(x-y)+1$ e sottraendo membro a membro con l iniziale ottengo $f(x+y)=f(x-y)$. Pongo $x=y$ e ottengo $f(2x)=f(0)=1$ che è assurdo dato che $f(1)=0$
Primo caso.2 $f(1)=2$
Sempre la $(1.)$ diventa $f(y-1)+f(1-y)=2$ oppure $f(y-1)-1=1-f(1-y)$. Creo la nuova funzione $g(x)=1-f(x)$. Cosi creata $g(x)$ e dispari. Sostituisco nell equazione tutte le f possibili che diventano
$$g(xy)=g(x)+g(y)-g(x)g(y)-g(x+y) \ \ \ (2.)$$
ma essendo dispari, ponendo $y=-y$ e facendo tutte le trasformazioni con la disparita diventa $-g(xy)=g(x)-g(y)+g(x)g(y)-g(x-y)$ e quindi $2g(x)=g(x+y)-g(x-y)$. Pongo $x=y$ e quindi $2g(x)=g(2x)-g(0)$ ma la $g(0)=1-f(0)=0$ e quindi $2g(x)=g(2x)$. Dato che $2g(x)=g(x+y)-g(x-y)$ posso anche dire che $g(x+y)-g(x)=g(x)-g(x-y)$ per ogni $x,y \in \mathbb{R}$ e quindi la differenza e costante, perciò $g(x+y)-g(x)=g(y)-g(0)$ e quindi $g(x)+g(y)=g(x+y)$. Quindi g e
monotona (e sicuro che e vero?? Su questo non sono pienamente sicuro) e quindi avendo l ipotesi aggiuntiva uso Cauchy partendo da $2g(x)=g(2x)$ (caso con $x=y$ nella classica Cauchy). E qundi g(x)=$ax$ con $a \in \mathbb{R}$. Sostituisco nella $(2.)$ e diventa $axy=ax+ay-a^2xy-ax-ay$ e quindi $a+a^2=0$ che da come soluzione $a=0$ che si accetta perche $f(x)=1$ è soluzione e $a=-1$ da $f(x)=x+1$ che sostituito nell equazione iniziale diventa $xy+1=xy+x+y+1-x-y-1+1$ vera.
Secondo caso $f(1)=1$
Considero la $(0.)$ cioe $f(x)f(y+z)+f(x+yz)-f(x)=f(z)f(x+y)+f(xy+z)-f(z)$ e ponendo $z=1$ diventa $f(x)f(y+1)+f(x+y)-f(x)=f(x+y)+f(xy+1)-1$ oppure $f(x)f(y+1)-f(x)=f(xy+1)-1$. Pongo $y=-1$ e ho $f(x)-f(x)=f(1-x)-1$ cioe trovo la funzione costante $f(x)=1$ gia trovata.
Percio le soluzioni sono $f(x)=1+x$ e $f(x)=1$.