Number of strings generatable I really do not know how to start with the conditions of this problem:

A H64 string is a string with 64 characters, each character must be
  choosen from 16 hexadecimal characters (0 - 9, a - f). However, no
  character can appear over 10 times. How many H64 strings that can be
  generated from the above condition?

The normal solution to generate a string with 64 characters is 16^64, how can we eliminate the cases with 10 times appearing characters?
 A: Here is a general approach using exponential generating functions.
Consider the multiset of element types $1,2,\ldots k$ with respective multiplicities $n_1,n_2,\ldots,n_k$: 
$$\{n_11,n_22,\ldots, n_kk\}$$. 
We wish to count ordered strings taken from this multiset. We first associate to each element type in the multiset a polynomial of the form
$$\sum_{j=0}^{n_i}\frac{x^j}{j!}$$
Each term represents the number of elements of that type chosen, so $x^0/0!$ indicates no chosen element of that type, $x^1/1!$ represents 1 chosen element of that type and so on.
Then all strings of length $r$ are counted by the $x^r/r!$ coefficient of the product of these polynomials
$$\prod_{i=1}^{k}\left(\sum_{j=0}^{n_i}\frac{x^j}{j!}\right)$$
We may see that the $x^r/r!$ term in the product expansion receives one such contribution given by multiplying $x^{r_1}/r_1!$ in the polynomial for 1 by $x^{r_2}/r_2!$ in the polynomial for 2 and so on for $r=r_1+r_2+\ldots + r_k$, hence the product of all these is 
$$\frac{x^{r_1}}{r_1!}\frac{x^{r_2}}{r_2!}\ldots \frac{x^{r_k}}{r_k!}= \frac{r!}{r_1!r_2!\ldots r_k!}\frac{x^r}{r!}$$
So the product of those particular terms has a coefficient that can be interpreted as the arrangements of $r_1$ $1$s, $r_2$ $2$s,..., $r_k$ $k$s taken from the multiset. 
We see that the coefficient of $x^r/r!$ will receive a contribution of this type for every possible selection of length $r$ from our multiset.
In your case you will require $k=16$, $n_i=10$ ($i=1\ldots 16$) and we are looking for the coefficient of $x^{64}/64!$ hence $r=64$. i.e. We want
$$\left[\frac{x^{64}}{64!}\right]\left(1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+\frac{x^5}{5!}+\frac{x^6}{6!}+\frac{x^7}{7!}+\frac{x^8}{8!}+\frac{x^9}{9!}+\frac{x^{10}}{10!}\right)^{16}$$
I have tried using sage for this ... still running ...
Note: this assumes that we can have 0 occurrences of some element types. If you want to put a lower limit on some of the element types then simply truncate their associated polynomial, e.g. If you want at least two 1s then remove the $1+x$ from its associated polynomial.
On my calculator I get an answer for said coefficient of
$$112\,230\,703\,965\,803\,822\,592\,415\,885\,534\,546\,106\,986\,008\,878\,249\,188\,810\,974\,999\,684\,510\,952\,677\,024\,000$$
A: This is not a full answer. But I think there are enough hints to work it out.
Let $A_k$ denote the set of such valid H64 strings that make use of $k$ distinct hexdigits. By pigeonhole principle, the given condition leads to the constraint that $k\ge6$. For $k\neq l$ clearly, the  two sets of strings $A_k$ and $A_l$ are disjoint. 
So the final answer is  $\sum_{k=6}^{16} |A_k|$.
Let me indicate how to find the cardinality $A_k$. First you have to decide on which $k$ symbols out of the $16$ are going to be used in a single H64 string. This shows that $|A_k|$ is $16\choose k$ times the number of H64 strings that can be formed just using $1,2,\ldots, k$.
You can relate this to the count of monomials in $k$ variables of total degree $16$, but the difference is that $x^2yz$ and $xyxz$ are to be counted as different monomials.  At this stage I am not   able to come up with a good approach to proceed further.
