Proving that a set is denumerable without using a particular theorem this question may seem like a duplicate of another one that I asked, but it is not. In this question, I am not allowed to use the Theorem which states: Every infinite subset of a denumerable set is denumerable. 
The Problem: 
Prove that $S=\{(a,b): a,b\in N, a\geq b\}$ is denumerable without using Theorem 10.4, but directly define a bijection $f:S\rightarrow N$ or $g:N\rightarrow S$. 
Work: I defined a function $f: S\rightarrow N$ by $f(a,b)=a-b$. Next, I will show that such a function is injective and surjective, thereby proving that it is bijective. 
To prove that $f(a,b)$ is injective, I set $f(a,b)=f(x,y)$ and get$a-b=x-y$. However, from here I don't know how to prove $a=x$ and $b=y$. Maybe I need another function. 
 A: The canonical way to do this is to pick two distinct primes. The primes $2, 3$ are good choices. Then use $2^{a}3^{b}$. Since $2, 3$ are prime, you will have an injection. This is actually sufficient to show countability- mapping a set to $\mathbb{N}$ with an injection. It doesn't have to be onto.
I'll add more on one-to-one to address your comment about why we don't need an explicit bijection. Consider sets $A = \{a, b, c\}$ and $B = \{1, 2\}$. How many injections can we have from $A \to B$? How many injections can we have from $B \to A$? To answer these questions, it is important to understand what an injection gives us. The definition states that no two distinct elements in the domain map to the same element in the codomain. So there are no injections from $A \to B$, because at two elements would have to map to either $1$ or $2$. However, we can have an injection from $B \to A$. Why is this? It's because we can uniquely map $1$ and $2$ to elements in $A$. Injectivity from $X \to Y$ holds up to the point where $|X| = |Y|$. Otherwise, we see a case like trying to map $A \to B$. So an injective function gives us $|X| \leq |Y|$. 
Here you are mapping $\mathbb{N} \times \mathbb{N} \to \mathbb{N}$. You want to show that $|\mathbb{N} \times \mathbb{N}|$ is countable. This means that $|\mathbb{N} \times \mathbb{N}| \leq |\mathbb{N}|$. If we wanted a strict equality (ie., $|\mathbb{N} \times \mathbb{N}| = |\mathbb{N}|$), then we would need to show a bijection. However, an injection into $\mathbb{N}$ suffices for countability.
Does that clear things up?
A: Your function is not injective since $f(a,a)=0$ for all $a\in N$.
You may want to try with $f:S\to N$ defined by $f(a,b)=\dfrac{a(a+1)}{2}+b$.
