Find the functions $f:\mathbb{Z}\times \mathbb{Z}\to\mathbb{R}$ such that

a) $f(x,y)\cdot f(y,z) \cdot f(z,x) = 1$ for all integers $x,y,z$;

b) $f(x+1,x)=2$ for all integers $x$.
1. **Given Conditions:**
   - \( f(x,y) \cdot f(y,z) \cdot f(z,x) = 1 \) for all integers \( x, y, z \).
   - \( f(x+1, x) = 2 \) for all integers \( x \).

2. **Step 1: Determine \( f(x,x) \):**
   - Set \( x = y = z \) in the first condition:
     \[
     f(x,x) \cdot f(x,x) \cdot f(x,x) = 1 \implies f(x,x)^3 = 1 \implies f(x,x) = 1
     \]
     since \( f(x,x) \) must be real, the only real cube root of 1 is 1.

3. **Step 2: Determine the relationship between \( f(x,y) \) and \( f(y,x) \):**
   - Set \( z = x \) in the first condition:
     \[
     f(x,y) \cdot f(y,x) \cdot f(x,x) = 1 \implies f(x,y) \cdot f(y,x) \cdot 1 = 1 \implies f(x,y) \cdot f(y,x) = 1
     \]
     Thus, \( f(y,x) = \frac{1}{f(x,y)} \).

4. **Step 3: Use the second condition to find a general form for \( f(x,y) \):**
   - Given \( f(x+1, x) = 2 \), we need to find \( f(x,y) \) for arbitrary \( x \) and \( y \).
   - Consider \( y = x + p \) where \( p > 0 \):
     \[
     f(x+p, x) = f(x+p, x+p-1) \cdot f(x+p-1, x+p-2) \cdots f(x+1, x)
     \]
     Since \( f(x+1, x) = 2 \), we have:
     \[
     f(x+p, x) = 2 \cdot 2 \cdot \ldots \cdot 2 \quad (\text{p times}) = 2^p
     \]
     Therefore, \( f(x+p, x) = 2^{y-x} \) when \( y = x + p \).

5. **Step 4: Verify the solution:**
   - We propose \( f(x,y) = 2^{x-y} \) as a solution.
   - Check the first condition:
     \[
     f(x,y) \cdot f(y,z) \cdot f(z,x) = 2^{x-y} \cdot 2^{y-z} \cdot 2^{z-x} = 2^{(x-y) + (y-z) + (z-x)} = 2^0 = 1
     \]
     which satisfies the first condition.
   - Check the second condition:
     \[
     f(x+1, x) = 2^{(x+1)-x} = 2^1 = 2
     \]
     which satisfies the second condition.

Thus, the function \( f(x,y) = 2^{x-y} \) satisfies both conditions.

The final answer is \( \boxed{ f(x,y) = 2^{x-y} } \).