This transaction: ed3339dc53a0732db18b39932349f0bc59371526583481b39435fa7231ee4035
is not confirming because it spends an output that was received in transaction: a044109ce65973fb0a567e34ab1e4237e0718e5b4b0984e3fff939c20e3dc34d
and that transaction is not confirmed yet. The transaction you are asking about CAN NOT confirm until the transaction that funds it confirms.
Unfortunately, that earlier transaction only paid a fee of 0.00002260 BTC (10 satoshis per byte), so it may take a while for it to confirm (if ever).
Well written wallet software should not allow you to accidentally spend unconfirmed outputs in your transactions. This means that you are either using a poorly written wallet (and you should inform the wallet developer that their wallet is a piece of crap that needs to be fixed ASAP), or you made a decision yourself to take on the risks associated with spending unconfirmed outputs (and you shouldn't make such decisions if you don't understand the risks).
I'm using Bitcoin Core and I can send unconfirmed unspent outputs. Is Bitcoin Core poorly written wallet?
Ps: If you send bitcoins from yourself to yourself on bitcoin core, then you can spend the zero confirmed unspent output...