Determine all functions $f: \mathbb{R} \rightarrow \mathbb{R}$ such that for all $x$, $y \in \mathbb{R}$ hold:
    $$f(xf(y)-yf(x))=f(xy)-xy$$ 

[i]Proposed by Dusan Djukic[/i]
1. **Assertion and Initial Condition:**
   Let \( P(x, y) \) be the assertion of the given functional equation:
   \[
   f(xf(y) - yf(x)) = f(xy) - xy
   \]
   First, consider \( P(x, 0) \):
   \[
   f(xf(0)) = f(0)
   \]
   This implies that \( f(0) \) is a fixed point. If \( f(0) \neq 0 \), then for any \( x \in \mathbb{R} \), we would have \( f(xf(0)) = f(0) \). This would imply that \( f \) is a constant function, which contradicts the original equation unless \( f(x) = 0 \) for all \( x \). Therefore, we must have:
   \[
   f(0) = 0
   \]

2. **Evaluating \( P(x, x) \):**
   Consider \( P(x, x) \):
   \[
   f(xf(x) - xf(x)) = f(x^2) - x^2
   \]
   Simplifying, we get:
   \[
   f(0) = f(x^2) - x^2
   \]
   Since \( f(0) = 0 \), it follows that:
   \[
   f(x^2) = x^2
   \]
   This implies that \( f(x) = x \) for all \( x \geq 0 \).

3. **Considering \( f(a) = 0 \):**
   Let \( a \) be such that \( f(a) = 0 \). Consider \( P(a, y) \):
   \[
   f(af(y) - yf(a)) = f(ay) - ay
   \]
   Since \( f(a) = 0 \), this simplifies to:
   \[
   f(af(y)) = f(ay) - ay
   \]
   For \( y \) such that \( ay \geq 0 \), we have \( f(ay) = ay \) (since \( ay \geq 0 \)). Thus:
   \[
   f(af(y)) = ay - ay = 0
   \]
   This implies \( af(y) = 0 \). Since \( f(y) \neq 0 \) for \( y \neq 0 \) (as shown earlier), we must have \( a = 0 \). Therefore, the only \( a \) such that \( f(a) = 0 \) is \( a = 0 \).

4. **Behavior for Negative \( x \):**
   Consider \( P(x, y) \) for \( x < 0 \) and \( y < 0 \):
   \[
   f(xf(y) - yf(x)) = f(xy) - xy
   \]
   Since \( f(x) = x \) for \( x \geq 0 \), we need to determine \( f(x) \) for \( x < 0 \). Let \( x = -1 \):
   \[
   f(-1f(y) - yf(-1)) = f(-y) - (-y)
   \]
   Simplifying, we get:
   \[
   f(-f(y) - yf(-1)) = f(-y) + y
   \]
   Let \( c = f(-1) \). Then:
   \[
   f(-f(y) - yc) = f(-y) + y
   \]
   If \( y < 0 \), then \( f(y) = -cy \). Substituting \( f(y) = -cy \) into the equation:
   \[
   f(-(-cy) - yc) = f(-y) + y
   \]
   \[
   f(cy - yc) = f(-y) + y
   \]
   \[
   f(0) = f(-y) + y
   \]
   Since \( f(0) = 0 \), we have:
   \[
   0 = f(-y) + y
   \]
   \[
   f(-y) = -y
   \]
   Therefore, \( f(x) = x \) for all \( x \in \mathbb{R} \).

5. **Verification:**
   We need to verify if \( f(x) = |x| \) is also a solution. For \( f(x) = |x| \):
   \[
   f(xf(y) - yf(x)) = f(x|y| - y|x|)
   \]
   \[
   = f(|xy| - |xy|) = f(0) = 0
   \]
   \[
   f(xy) - xy = |xy| - xy
   \]
   This holds true for all \( x, y \in \mathbb{R} \). Therefore, \( f(x) = |x| \) is also a solution.

The final answer is \( \boxed{f(x) = x \text{ or } f(x) = |x|} \).