Hello,
Please excuse that I won't use LaTeX and can't post links properly; I'm having some issues with the new forum; but I'm happy to see that MHF (Math Help Forum) has both risen from the ashes and gotten a clone. :)
It's not clear to what extent you need to solve this "manually" vs. using, say, built-in functions of a CAS. Typing "factormod(x^6-7,19)" in pari/gp will give the answer instantly. I'm not familiar with the internals of factormod(), but the program is open source, and might have intelligible comments. (I'm not suggesting you try to read the source; it's more just an interesting side note, since pari/gp probably does it using the most efficient known algorithms.)
Without thinking about it much I did a google search and found this (forums.xkcd.com/viewtopic.php?f=17&t=73708) xkcd forum thread on the subject. You may find it useful to read the entire thread there, but mainly what I wanted to bring up is that your idea of using discrete log can work, but keep in mind that discrete log is itself a hard problem. How were you computing it? In fact, ind_2(7) is 6, not 14. We have used that 2 is a primitive root. Pari/gp has some functions for these things,
? znprimroot(19)
%1 = Mod(2, 19)
? znlog(Mod(7,19),Mod(2,19))
%2 = 6
Finding a primitive root manually is not too hard; info is on Wikipedia (en.wikipedia.org/wiki/Primitive_root_modulo_n#Finding_primitive_roots). As to discrete log, the algorithms are a bit involved. But let's just assume you have a discrete log function readily available and it's not a problem.
So now we can do:
x^6 ≡ 7 (mod 19)
x^6 ≡ 2^6 (mod 19)
(2^m)^6 ≡ 2^6 (mod 19)
2^(6m) ≡ 2^6 (mod 19)
6m ≡ 6 (mod phi(19))
6m ≡ 6 (mod 18)
This worked out very nicely; this is just m ≡ 1 (mod 3), so the solution set is {1, 4, 7, 10, 13, 16}. Recover solutions for x by taking 2^1, 2^4, 2^7, 2^10, 2^13, 2^16 (mod 19).
Edit: Regarding involved algorithms for discrete log, I purposely excluded a very simple algorithm, namely trial multiplication, because the (worst-case) time complexity for it is horrible. I figured trial multiplication would defeat the purpose, because then you might as well just use brute force on the original problem. For completeness, though, I probably should have mentioned it. In your post you didn't give any indication that you knew discrete logs are much harder to compute than ordinary logs, which is a little strange. Now I'm really curious to know how you approached that sub-problem.