J'imagine une solution toute simple mais qui dépend un peu des fonctions dont tu disposes pour accéder au dictionnaire.
Pour des mots courts (disons moins de 10 lettres), la solution brutale consistant à tester toutes permutations de tes lettres me paraît acceptable : 10 lettres -> 3628800 mots à tester. Ca ne devrait pas être trop long.
Mais si ton dictionnaire te donne la possiblité d'énumerer les mots de N lettres, à partir d'une certaine valeur de N, il doit y avoir moins de mots qui existent que de permutations possible. Du coup, ça ira plus vite de tester, pour chaque mot de N lettres, si il s'écrit avec les lettres qui te sont données.
Si en plus, tu peux énumerer les mots de N lettres commençant par une lettre donnée, il y a moyen d'optimiser encore...
Il faut determiner la valeur de N à partir de laquelle il faut changer de tactique (à mon avis, à partir de 8 ou 9).
Il ne te reste plus que le plus difficile : écrire un code qui énumère toutes les permutations de N lettres...

En revanche, tester si un mot s'écrit avec avec des lettres données ne devrait pas être trop dur.

bon courage !
Hadrien